年化31.4%的大类资产vs宽基指数|vnpy导入所有主连合约数据(代码+策略下载)

原创内容第755篇,专注量化投资、个人成长与财富自由。

今天的文章几件事情(明天本周五星球更新本周所有代码):

1、A股主要宽基指数轮动策略。

2、期货历史主连合约导入vnpy。

3、海龟策略vnpy版本跑通。

ETF池子:上证50(510050)、沪深300(510300)、中证500(510500)、中证1000(512100)、创业板ETF(159915)、创业50ETF(159949)

图片

单一市场而言,择时就显得比较重要,但回撤率依然比较大,这也是我们为何建议做大类资产配置的原因所在。

对比大类资产:

图片

主连合约数据同步:

主力连续合约: 主力连续合约是由该品种期货不同时期主力合约接续而成, 代码以 88 或 888 结尾结尾, 例如 IF88 或 IF888. 前者为合约量价数据的简单拼接, 未做平滑处理; 后者对价格进行了”平滑”处理

处理规则如下: 以主力合约切换前一天(T-1日)新、旧两个主力合约收盘价做差, 之后将 T-1 日及以前的主力连续合约的所有价格水平整体加上或减去该价差, 以”整体抬升”或”整体下降”主力合约的价格水平。

用akshare下载所有主连合约历史日线数据:

def get_future_continue_quotes(symbol):
    df = ak.futures_zh_daily_sina(symbol=symbol)

    '''
        日期        开盘价  最高价 最低价 收盘价  成交量  持仓量  动态结算价
0    2020-01-02  6520  6530  6485  6500    54491  230632   6500
1    2020-01-03  6500  6510  6480  6495    72391  229655   6495
    '''
    cols = {'hold': 'open_interest'}
    df.rename(columns=cols, inplace=True)
    df['date'] = df['date'].apply(lambda x: x.replace('-', ''))
    # df = df[list(cols.values())]
    df['symbol'] = symbol

    return df

def update_all_futures():
    basic = DATA_DIR.joinpath('basic').joinpath('futures.csv')
    df_basic = pd.read_csv(basic.resolve())
    for s in df_basic['symbol']:
        print(s)
        df = get_future_continue_quotes(s)
        df.to_csv(DATA_DIR_QUOTES.joinpath(f'{s}.csv').resolve(), index=False)

图片

图片

把csv全部导入vnpy的数据库(这里暂时没有对应期货交易所的信息):

def to_vnpy():
    from vnpy_datamanager import engine
    from vnpy.trader.constant import Exchange, Interval

    e = engine.ManagerEngine(None, None)

    basic = DATA_DIR.joinpath('basic').joinpath('futures.csv')
    df_basic = pd.read_csv(basic.resolve())
    for s in df_basic['symbol']:
        csv = DATA_DIR_QUOTES.joinpath(f'{s}.csv').resolve()
        print(csv)
        e.import_data_from_csv(csv, symbol=s, exchange=Exchange.CFFEX, interval=Interval.DAILY,
                               tz_name='Asia/Shanghai', datetime_head='date', open_head='open', high_head='high',
                               low_head='low',
                               close_head='close', volume_head='volume', turnover_head='turnover',
                               open_interest_head='open_interest', datetime_format='%Y%m%d')

图片

直接就可以跑策略了:

图片

代码和数据、策略明天一起打包提交星球:AI量化实验室——2024量化投资的星辰大海

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

AI量化实验室 星球,已经运行三年多,1200+会员。

aitrader代码,含几十个策略源代码,因子表达式引擎、遗传算法(Deap)因子挖掘引等,支持vnpy,qlib,backtrader和bt引擎,名内置多个年化30%+的策略,每周五迭代一次,代码和数据在星球全部开源。

图片

扩展  •  历史文章   

EarnMore(赚得更多)基于RL的投资组合管理框架:一致的股票表示,可定制股票池管理。(附论文+代码)

十年年化35%的斜率轮动策略(几行python代码),aitrader_v2.0代码发布

动量vs斜率:10年16倍的策略对比(附python代码)

10年17倍:使用卡曼滤波过滤器优化动量和斜率策略(python代码策略下载)

卡曼滤波把策略从年化30%提升到年化53%(python代码)

在长期年化收益32.6%的轮动策略上加择时逻辑,最大回撤略降(python代码)

aitrader v2.1源码发布:沪深300换成红利低波后,十年长期年化提升至34.1%,夏普1.21(python代码)。

aitrader兼容多引擎:vnpy,qlib, backtrader和bt回测实盘一体(附:年化30%策略集python代码)

近四年年化59.1%动量轮动+均线择时策略在aitrader本地实现了。

▼点击阅读原文,访问“AI量化实验室”策略集合

(http://www.ailabx.com/mall)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI量化投资实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值