Quantlab5.0:一切围绕可实盘策略驱动开发

发布于:2024-07-02 ⋅ 阅读:(22) ⋅ 点赞:(0)

原创文章第573篇,专注“AI量化投资、世界运行的规律、个人成长与财富自由"。

2024年上半年即将结束,开始准备星球下半年的工作。

目前设想的——Quantlab5.0,之所以升级一个大版本,与4.x有很大不同。

5.0专注策略开发,可能以notebook形式为主,弱化gui界面,甚至少用streamlit。同时弱化策略框架的封装,这样大家一可一眼看明白一个策略如何开发出来,如何运行,如何调优。

——简言之,就是一切围绕可实盘策略驱动开发,开发赋能交易,而非其他。

数据加载方面,使用csv加载,数据很重要,处理也挺耗时,但之于策略开发,并非核心,因此简化+标准化:

对于bt框架而言,就是一次性加载多个symbols的收盘价,形成一个dataframe即可——以下示例,加载沪深300指数、创业板指数收盘价,并给图,计算相关性:

图片

可以看出,大小盘的相关性仍然高达0.73。

@staticmethod
def get(symbols: list[str], col='close', start_date='20100101'):
    dfs = []
    for s in symbols:
        df = CSVDataloader.read_csv(s)
        if df is not None:
            dfs.append(df)

    df_all = pd.concat(dfs, axis=0)
    if col not in df_all.columns:
        logger.error('{}列不存在')
        return None
    df_close = df_all.pivot_table(values=col, index=df_all.index, columns='symbol')
    df_close = df_close[start_date:]
    return df_close

我们可以很容易进行全球大类资产——时间序列的分析:

from datafeed.dataloader import CSVDataloader
data = CSVDataloader.get(['000300.SH', #沪深300
                          '159915.SZ', #创业板
                          'HSI', #香港恒生
                          '^NDX',# 纳指100
                          'GDAXI',#德国DAX
                          '000012.SH',#国债指数
                         ])
data.dropna(inplace=True)
(data.pct_change()+1).cumprod().plot()

图片

可以看出来,纳指100一骑绝尘。

图片

国债和所有资产都是负相关,沪深 和德国,纳指100的相关度很低,与恒生相关度高。德国(欧洲)与美股(纳指100)相关度也还好。

——从大类资产配置的角度,长期向上的资产,相关度越低,则越能在不降低收益率的基础上,有效降低波动。

重新整合代码目录:

图片

代码每周在星球更新,获取地址(已经有1000+同学加入星球):

AI量化实验室——2024量化投资的星辰大海

这是投资组合理论,是投资之基础。

从量化学习的角度,除了python基础之外,最应该熟悉的是掌握一两款回测框架。

当然,如果有兴趣,自己实现一个回测框架——之前我花不少时间,在打磨自己的回测引擎。——这个好处是你知道底层框架的设计细节,对于你调试策略,理解逻辑很有帮助。

从实战的角度,选择成熟的框架就好。

回测框架与实盘框架,我建议是分开的。——回测是验证你的思路,求方便、省事,效率高。而实盘是真金白银,求稳定,可靠。

二者有一定冲突的,都按实盘的标准来,你的策略很复杂,而且你搞不清楚是策略没写好,还是策略本身就不行。所以,分开来。

从回测的角度,Quantlab5.0(计划中),会引入多个回测框架,包含但不限于:bt, backtesting.py, pybroker或backtrader, qlib等。

每个框架各有所长,比如bt特别适合资产配置、轮动策略,而backtesting.py适合单标的择时(backtrader的单标的版本,但策略和指标比backtrader直观和易用),pybroker支持机器学习,尤其是WFA股东训练。

数据方面,专注指数(ETF),对于回测而言,它们都是时间序列,迁移起来是非常容易的。——一开始不必在数据上花费太多时间。

历史文章:

【代码发布】Quantlab-4.3.1发布:lightGBM全球大类资产配置-模型自动调参(代码+数据)

AI量化实验室——2024量化投资的星辰大海