tsfresh学习

117 篇文章 88 订阅
68 篇文章 14 订阅
本文介绍了tsfresh库的使用,强调其作为talib的升级版,用于从时间序列数据中提取特征。通过实例展示了如何导入数据、计算指标,特别是利用滚动技术处理时间序列,确保每个交易日都有样本。接着,文章提到了训练SVM模型的过程,包括因子的有效性筛选和模型的评估。最后,讨论了如何根据模型预测结果计算投资策略的收益率,展示择时策略的效果。
摘要由CSDN通过智能技术生成

tsfresh今天认真看了一遍,就是一个talib集成包(升级版)。

获得基础因子数据,然后放入写好的所有的函数中,计算新的因子,注意,他只能单个因子,如果用两个参数的函数,无效。相信大家都明白意思了吧。

     因子生成的原理是,tsfresh预置了783个算子(calculator),会逐个用在每一个交易日的基础因子数值序列上,这就相当于孙悟空拔一根猴毛下来,
能变出783个形态各异的化身,相同计算公式不同单参数也算1个,11乘以783就是8613,具体的算子计算公式请见官方文档:

https://tsfresh.readthedocs.io/en/latest/text/list_of_features.html

举例,talib中有一个atr函数,用到了OHLC四个价格,tsfresh是计算不了,因为他只能使用一个因子。

现在正式进入学习环节:

导包:

import datetime
start_time = datetime.datetime.now() #开始时间

# 核心代码部分
from tsfresh import extract_features
from tsfresh.utilities.dataframe_functions import roll_t
tsfresh是一个基于时序数据的特征提取库,它可以自动从时间序列数据中提取各种统计特征以及时间序列的基本特征,如趋势、周期性、季节性等,这些特征可以用于时间序列分类、回归、聚类等任务。 tsfresh的运行过程可以分为以下几个步骤: 1. 准备数据:将时间序列数据整理成pandas.DataFrame格式,其中每行表示一个时间序列,每列表示时间序列的一个时间点的取值。 2. 特征提取:使用tsfresh.extract_features()函数从时间序列数据中提取特征。该函数接受一个pandas.DataFrame格式的数据作为输入,以及一些特征提取的参数,如需要提取的特征类型、时间序列数据的时间索引等。tsfresh会自动根据这些参数从时间序列数据中提取各种特征,并返回一个pandas.DataFrame格式的特征矩阵。 3. 特征过滤:使用tsfresh.select_features()函数对提取出来的特征进行过滤。该函数接受一个pandas.DataFrame格式的特征矩阵作为输入,以及一些过滤的参数,如需要过滤的特征类型、需要保留的特征数量等。tsfresh会根据这些参数对特征矩阵中的特征进行过滤,并返回一个pandas.DataFrame格式的特征矩阵。 4. 特征标准化:使用tsfresh.utilities.dataframe_functions.impute()函数对特征矩阵中的缺失值进行填充,并使用tsfresh.utilities.dataframe_functions.normalize_features()函数对特征矩阵中的特征进行标准化。 5. 模型训练和预测:将处理后的特征矩阵输入到机器学习模型中进行训练和预测。tsfresh并不提供机器学习模型,因此用户需要自己选择适合任务的机器学习模型,如支持向量机、随机森林等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

神出鬼没,指的就是我!

必须花钱,数据超好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值