1月14日直播答疑


Q:在 AI策略基础版里面 ,如果想要增加别的表里面的因子,怎么加?



Q:如果想实现每周四买入,每周二卖出,请问这个交易逻辑怎么实现?还有做中长线,想每月20日买入,次月15日卖出,怎么实现?



Q:老师能否讲解一下为什么要做因子分析,意义是什么?在做因子分析的时候,最应该关注的是那些指标呢?因子分析代码运行之后,正确的分析顺序流程是怎样的?



Q:如何将多个因子一起做因子分析,进行效果对比?在整合多个因子时,加权方法有哪些?如何解决因子间的共线性问题?



Q:如果某个因子近期持续回撤,如何判断是周期性失效还是长期逻辑被破坏?



Q:怎么用机器学习挖掘因子?能不能训练现在的AI来挖掘因子呢?



Q:老师我还有一个简单的问题 

target_hold_instruments = set(buy_list)
        
    # 获取当前已持有股票
    current_hold_instruments = set(context.get_account_positions().keys())

    # 卖出不在目标持有列表中的股票
    for instrument in current_hold_instruments - target_hold_instruments:
        context.order_target_percent(instrument, 0)
            
    # 买入目标持有列表中的股票
    for instrument in target_hold_instruments - current_hold_instruments:
        context.order_target_percent(instrument, 1/len_)

就是在这段买入卖出的代码中  怎么写 止盈止损条件的?
比如 我要加入某支票 跌了 5% 或者 涨了10%就卖出的  最好能在日内实时交易中实现(因为我用万和这个软件没有设置止盈止损  他跟APP不是一个通道  APP上也操作不了)
要是策略能够实现不定时卖出就好了







Q:老师  看了滚动训练和前天万老师的保存模型的回放,我这两天用滚动训练做了一个策略  能不能请老师帮我看看  主要问题(基于我现在的理解,确实不清楚为啥效果很差) 

我的策略  核心思想是:
1,选择20-30只分布在各行业的主动型ETF 组成 候选池
2,获得所有ETF的持仓信息,再得到所有成份股的池子
3,选择了成份股的14个因子(主要是量价相关或高频数据低频化因子),都添加ETF本身的5个基本因子,共19个因子
4,LSTM学习时序特征 输出16个时序特征因子(保存最优LSTM模型)
5,组成35维因子,进行xgboost训练(保存xgb模型)。
6,lstm+xgboost 预测所有成分股最终score。
7,按照ETF成份,持仓作为权重,求ETF加权平均分作为最终ETF的score。
8,选择score最高的5只票买入,5天调仓。

代码层面已经调试跑通,现在的效果:
(1)基本都是使用python做的分析,比较慢
(2)不同时间段做过一些测试,效果基本都是跟随着指数的,没有什么超额收益(由于跑的慢,所以没能够回测很多)
(3)如果设定:最终xgboost的预测评分强制设定>0.52才买入,效果也许大概确实变好了(一个月一个月的测试),不过没有做长时间跨度训练,空仓或不满仓时间有90%+。

问题:
(1)策略有没有什么原则性错误?比如ETF适不适合这种方式?或者这种ETF一般是否有更适合的策略?
(2)实现逻辑上有没有原则性错误?比如添加ETF因子到持仓股票进行训练的方式
比如训练数据量150天,是否够用?26只ETF有400只持仓股,股票数量是否足够?
LSTM的loss变化很大是否合理?
(3)如果策略可行,主要的优化方向

训练时间很长,调超参会很久很久,所以想让老师结合经验,给我改进建议,方向性 或者参数建议 都可以

BigQuant CodeShare