首页 > 其他 > 详细

因子学习笔记、问题汇总

时间:2018-06-19 15:55:33      阅读:367      评论:0      收藏:0      [点我收藏+]

一、多因子问题

8、回测时股票价格数据该如何选择?

1、周期:日、周、月、季(报告期)、年

2、时间设置:固定日期---->,起始日期,截止日期;相对日期---->前推周期(日历日、交易日、周、月、季、年),截止日期

3、日期类型:交易日、日历日、工作日

4、无交易数据处理:沿用之前数据、空值、自设数值(自己输入数值)

5、货币:原始货币、人民币、美元、港币

6、价格修正:(!)、复权方式(适用于股票基金):不复权、前复权、后复权、定点复权   (2)、价格类型(适用债券):净价、全价、市价、收益率

设置汇总:1、周/月 2、相对日期-->周/月 3、日历日 4、空值 5、原始货币 6、复权方式-->前复权

注意:复权应该选择向后复权,这样收益率数据库可以月度更新,如果向前复权,每次向前时点不一致,导致数据不一致。

 

7、A股比较基准是什么?

沪深300指数  代码 000300.SH   中证500指数 代码 000905.SH

 

6、在做多因子研究时,如果回测结果较好,把y换成随机数序列y1,用y1回归来看模型预测能力差,是不是说明模型预测能力较好?

 

5、在因子去极值处理后,因子数据全部变为0,是什么原因?

解答:dividendyield2因子在2008年5月31日数据全为0,因为中位数数据为0,极大值和极小值均为0,最后结果都为0,影响应该不大,这样数据少,以后随着分红变得普遍,就不会有这种情况发生了。

4、数组标准化(变为均值为0,方差为1)后的数据唯一吗?

解答:是唯一的,两个标准化的差别是一个对每列标准化,一个对全部数据标准化。

data=pd.DataFrame(np.array([[0, 0], [0, 0], [1, 1], [1, 1]]))
data
Out[53]: 
   0  1
0  0  0
1  0  0
2  1  1
3  1  1
scale_fun = lambda x: (x - x.mean()) / x.std()
data1=data.apply(scale_fun)
data1
Out[56]: 
          0         1
0 -0.866025 -0.866025
1 -0.866025 -0.866025
2  0.866025  0.866025
3  0.866025  0.866025
data1.mean()
Out[79]: 
0    0.0
1    0.0
dtype: float64
data1.std()
Out[80]: 
0    1.0
1    1.0
dtype: float64

from sklearn import preprocessing
scaler=preprocessing.StandardScaler()
scaler.fit(data)
Out[84]: StandardScaler(copy=True, with_mean=True, with_std=True)
data2=scaler.transform(data)
data2
Out[87]: 
array([[-1., -1.],
       [-1., -1.],
       [ 1.,  1.],
       [ 1.,  1.]])
data2.mean()
Out[88]: 0.0
data2.std()
Out[89]: 1.0
data3=DataFrame(data2)
data3
Out[91]: 
     0    1
0 -1.0 -1.0
1 -1.0 -1.0
2  1.0  1.0
3  1.0  1.0
data3.mean()
Out[92]: 
0    0.0
1    0.0
dtype: float64
data3.std()
Out[93]: 
0    1.154701
1    1.154701
dtype: float64

 

3、选取回报数据的时候,是否需要复权处理?价格修正方式(股票基金)有4种:不复权、前复权、后复权、定点复权(仅用于支持定点复权指标)

解答:选择前复权,如果不复权,价格不真实

 

2、有些股票当期不在交易标的中,比如ST、停牌、上市不满三个月等。在做因子数据预处理时是该先丢掉这些数据再做预处理,还是全部因子数据数据预处理完,再丢掉?

解答:先全部预处理完,再丢,这样包含的信息更多。

 

1、如果当天股票停牌,不考虑后续是否停牌情况下,单个回测周期因子回测时该如何处理?实际交易时如何处理?

回测时:该股票不在投资标的中,所有因子值设置为nan,设置时间分为因子预处理前和预处理后两种情况。

实盘时:如果按照回测时情况来处理,该停牌股票必然会被调出股票持仓中,可能实际上该股票不应该调出,产生无效交易,加大交易成本。

这是一个问题。。。

 

兴业三叉戟量化选股策略

1、RV选股策略:

技术分享图片

 

2、3+2量化选股策略

 技术分享图片

技术分享图片

 

因子学习笔记、问题汇总

原文:https://www.cnblogs.com/bawu/p/7300755.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!