开源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实现未登录跳转到登录页
