建立了dagster任务调度,django平台呈现的基础技术架构。
从投资而言,为数不多的确定性是大类资产配置,而在此之上,做动量以及行业轮动。大类资产配置简化版就是“股债平衡“,当股市明显下行时,仓位应该降低。因此任何一个投资领域,应该先看指数。
今天我们把指数数据入库,不需要所有的指数,几个核心市场,有代表性的指数即可。
从指数的角度,我们并不需要关心太多,核心市场几个核心指数足够代表市场运行规律。
下面选择的都是在A股场内外可以交易的标的。
还可以补充:黄金、石油以及可转债的指数。
@asset(description='重要指数列表')
def index_list():
return [
('000300.SH', '沪深300'),
('000905.SH', '中证500'),
('399006.SZ', '创业板指数'),
('000013.SH', '上证企债'),
('HSI', '恒生指数'),
('HKTECH', '恒生科技指数'),
('SPX', '标准普尔500'),
('IXIC', '纳斯达克指数'),
('GDAXI', '德国DAX指数'),
('N225', '日经225指数'),
]
指数数据比较简单,我没有使用列存的方式,直接把价量数据,一次性读入,存储在mongo里。
涉及到多因子的计算,比如各种动量指标,或者一些基本面指标如PE/PB等等,可以定时合成到hdf5里,就是把计算后置。
把指数列表,与价量数据更新任务加入更新计划,收盘后日更数据。
下一步与可转债类似,计算指数的多因子数据,比如动量、RSRS等,可以同步原始数据至HDF5文件后,使用”因子计算表达式“进行计算后合成一个大的dataframe。用于每日指标,以及加测。
指数数据,我们主要用于基准,以及大类资产配置的基础仓位。
我们的思路如下:
1、多维度动量,动量为正则当期入选。
2、风险平价、波动率控制计算各类资产仓位。
3、A股指数对应的仓位,使用优选的ETF来增厚收益。
第1、2步使用价量数据即可。
当 INVVOL、THRESAVG、
TMA 三个指标有任意两个触发时,我们就对相应资产给出买入判断。
1. INVVOL:当短期窗口的波动率倒数大于长期窗口的波动率倒数时看多,反之看空
2. THRESAVG:当近期收盘价站在均线上的天数占比高于规定比例时看多,反之看空
3. TMA:当最新收盘价上穿TMA均线时看多,反之看空。
这是最自研报,这里的指标其实可以无限多,看具体构造和筛选机制。
多因子选股,风险平价+波动率控制来计算权重,比纯粹的风险平价而言,更加平稳。
这样一个多因子选股+风险平价计算仓位的模型,具备通用性,可以应用于ETF,可转债和股票投资上。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/104162
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!