- 数据处理
- 对日线数据进行数据清理
- 原来的日线数据包括交易日期、股票代码、股票名称、开盘价、收盘价、最高价、最低价
- 首先计算涨跌幅,涨跌幅 = (收盘价 - 前一天收盘价) / 收盘价
- 然后计算当日涨跌幅,当日涨跌幅 = (收盘价 - 开盘价) / 开盘价
- 接着将股票日线数据和指数的日线数据进行数据对齐
- 删除2007年之前的数据(股市在2007年发生巨大变动)
- 新增一列 是否交易 表示当天是否交易,然后增加一列表示下日是否交易
- st
- 退市
- 开盘涨停
- 一字涨停
- 开盘跌停
- 一字跌停
- 停牌
- 实际上,只需要判断st、退市、停牌的股票
- 将日线数据转化为月线数据
- 月线数据有每月最后一个交易日的信息,包括交易日期、股票代码、股票名称、下周期每天涨跌幅、下日当日涨跌幅、是否可以交易、下日是否可以交易
- 对日线数据进行数据清理
- 选择动量30股票
- 剔除当日不可交易并且下日不可交易的股票(是否可交易 = false, 下日是否可交易 = false),然后剔除下日开盘涨停和开盘跌停的股票,剔除交易日期小于市场交易日期80%的股票
- 根据长端动量因子选择前30只股票
- 计算出资金曲线
- 根据每只股票下月涨跌幅,计算出股票的下月资金曲线,计算方法为连乘(1 + 涨跌幅)
- 对这30只股票求均值就可以得到均仓买入30只股票的资金曲线
- 此时,扣除手续费和印花税,买入时需要扣除手续费和印花税,卖出时扣除印花税,得到了扣除手续费的资金曲线
- 根据资金曲线,计算涨跌幅(资金 - 前一天资金)
- 对整个选股期间的数据都加一连乘得到整个选股期间的资金曲线
- 绘图