Py学习  »  Python

年化收益466%,回撤7%,夏普5.28,只需要2积分查看参数 | 股票全市场小市值策略回测python代码

七年实现财富自由 • 1 年前 • 329 次点击  
原创内容第989篇,专注AGI+,AI量化投资、个人成长与财富自由。
今日策略

年化收益466%,回撤7%,夏普5.28,只需要2个积分即可查看参数,策略地址如下:

http://www.ailabx.com/strategy/68b465a5e532c3b22efaf7b0

下面是今天实现的股票全市场小市值的策略:

年化31.9%。

核心代码如下:

from task_config import SortRule, Rule    task = StockTask()    task.period = 'RunEveryNPeriods'    task.topK=10    task.period_days=5    #task.end_date = '20230911'    # task.filters_rules.append(Rule(    #     factor_name='收盘价',    #     params=[],    #     op='小于',    #     value=10    # ))
    task.filters_rules.append(Rule(        factor_name='流通市值',        params=[],        op='大于',        value=100    ))
    # task.filters_rules.append(Rule(    #     factor_name='流通市值',    #     params=[],    #     op='小于',    #     value=1000    # ))
    task.orderby_rules.append(SortRule(        factor_name='流通市值',        params=[],        desc=False,        weight=1.0    ))
    from load_bar_df import load_bar_df
    df = load_all_data_polars(        data_sources=[str(DATA_STOCK_QUOTES.joinpath('history').resolve()), str(DATA_STOCK_QUOTES.joinpath('inc').resolve())],        start_date=task.start_date,        end_date=task.end_date,        columns=["date""symbol""open""high""low""close""volume",'circ_mv','real_close']    )    print(df)    dataset = AlphaDataset()    rules, _ = task.get_filter_rules()    print(rules)    for r in rules:        dataset.add_feature(r, r)    dataset.add_feature('排序因子',task.get_order_by_factor())    dataset.prepare_data(df)    df = dataset.raw_df.to_pandas()    #df = df.to_pandas()    data = df.pivot(values='close', index='date', columns='symbol')    data = data.ffill()    condition = df.pivot(values='circ_mv>100', index='date', columns='symbol')    orderby = df.pivot(values='排序因子', index='date', columns='symbol')    print(data)    s = bt.Strategy('test', [bt.algos.RunMonthly(),                             bt.algos.SelectWhere(condition),                            #bt.algos.SelectAll(),                             SelectTopK(orderby,K=10,dropN=30),                            bt.algos.WeighEqually(),                            bt.algos.Rebalance()])    stra = bt.Backtest(s, data, name='benchmark', progress_bar=True)    res = bt.run(stra)    print(res.stats)    res.plot()    import matplotlib.pyplot as plt    plt.show()
吾日三省吾身
再读《一如既往》,感触挺多。
一如既往说未来不可预测。
确实很验预测,事后你总能找到一堆理由和逻辑去佐证,但事前多数人对一些风险一无所知。
我们能做的,只能应对。
一些长期不变的事情,去做好准备。
关于“数字游民”,要心无挂碍,还得财务自由。
四处漂泊,还要考虑打工,就业,收入,还不如踏踏实实上班。
每天“不管”一点点,每天就变强一天天。
代码和数据下载:AI量化实验室——2025量化投资的星辰大海

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

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


点击 “查看原文”,直接访问策略集合

扩展  •  历史文章   


年化390%,回撤7%,夏普6.32 | A股量化策略配置

年化30.24%,最大回撤19%,综合动量多因子评分策略再升级(python代码+数据)

年化429%,夏普5.51 | 全A股市场回测引擎构建

年化443%,回撤才7%,夏普5.53,3积分可查看策略参数

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/186385