开源AI量化平台新进展:支持低代码快速生成策略
量化投资进入的四种范式:
一、投资组合,一般就是大类资产配置的逻辑,选择长期向上且低相关的回报流,组成一个投资组合。定期按季或者按年再平衡。
这种回测比较简单。
二、规则策略。就是给出买入卖出信号。传统量化主要是这种。多因子模型为主,选股择时没有明显的界线,一般还会辅以轮动,就是都满足的条件的股票集里边,按排序因子选得分高的N个买入。
三、机器模型。
由机器学习模型多因子得分,按分高到低选择N个,交易逻辑与规则策略同,只是股票信号逻辑是由机器学习模型给出。
四、强化学习。
这个我们将要覆盖。
前三者我们的AI量化平台,使用低代码的方式都已经支持了。
并不难,难在如何优化。
所以,模型评估的思路很重要。
学习qlib的模型分析模块。
analysis_model_performance,对模型评分分成五组,做多空分析。本质上是在做模型预测的IC值,也就是评分与真实收益率之前的相关性。
传统的模型分析还是需要分析pyfolio的代码。
pyfolio的quantopian的三大框架之一。
输入的核心参数就是 收益率df。
returns : pd.Series Daily returns of the strategy, noncumulative. - Time series with decimal returns. - Example: 2015-07-16 -0.012143 2015-07-17 0.045350 2015-07-20 0.030957 2015-07-21 0.004902
可选的参数有仓位。
ositions : pd.DataFrame, optional Daily net position values. - Time series of dollar amount invested in each position and cash. - Days where stocks are not held can be represented by 0 or NaN. - Non-working capital is labelled cash - Example: index AAPL MSFT cash 2004-01-09 13939.3800 -14012.9930 711.5585 2004-01-12 14492.6300 -14624.8700 27.1821 2004-01-13 -13853.2800 13653.6400 -43.6375
还有交易细节。
transactions : pd.DataFrame, optional Executed trade volumes and fill prices. - One row per trade. - Trades on different names that occur at the same time will have identical indicies. - Example: index amount price symbol 2004-01-09 12:18:01 483 324.12 AAPL 2004-01-09 12:18:01 122 83.10 MSFT 2004-01-13 14:12:23 -75 340.43 AAPL
这两个数据结构我们也可以这么设计。
我们按一定权重分配仓位,所以每个股票的市值是有的。
把每天更新仓位后各股票的仓位按日期、股票分别记录下来。qlib是按几千支股票来算,所以这样的记录给出不来。
交易也类似,但不是每天都会有,所以也是date,code以及amount市值变动。
其实也就是组合的风险收益分析。
机器学习组合讲因子分析,传统量化主要分析风险,收益,还可以看相关交易情况等等。
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
Vue实现未登录跳转到登录页