分享

年化37.5%,回撤控制在16.8%,大类资产加止盈策略

 AI量化实验室 2025-05-13 发布于北京
原创内容第885篇,专注智能量化投资、个人成长与财富自由。
AI量化实验室 星球本周工作计划
 1、本地核心版本,刷新策略,至少3个(notebook版本)。
同时在网站上发布。 
2、股票和etf数据更新。 
3、本地版本代码,在网站上可下载。 
配置论坛板块,积分规则等。
ailabx.com上线,论坛(bbs.ailabx.com)也上线了。
已经有同学发布了自己的策略:
我在本地化版本里也开发一个策略,年化37.5%,回撤控制在16.8%, 大类资产加止盈策略
import btfrom bt.algos import *from bt_algos_extend import SelectTopK
select_signal = np.ones(stop_profit.shape)  # 注意这里是全1,没有select_buy就是全选select_signal = pd.DataFrame(select_signal, columns=stop_profit.columns, index=stop_profit.index)
select_signal = np.where(stop_profit, 0, select_signal)  # select_sell置为0,就是清仓或不选select_signal = pd.DataFrame(select_signal, index=stop_profit.index, columns=stop_profit.columns)select_signal.ffill(inplace=True)  # 这一句非常关键,ffill就是前向填充,保持持仓状态不变。即不符合buy,也不符合sell,保持不变。select_signal.fillna(0, inplace=True)
s1 = bt.Strategy('s1', [bt.algos.RunDaily(),                           #SelectAll(),                         bt.algos.SelectWhere(signal=select_signal),                           SelectTopK(signal=order_by),                           bt.algos.WeighEqually(),                           bt.algos.Rebalance()])
s2 = bt.Strategy('benchmark', [bt.algos.RunOnce(),                        bt.algos.SelectAll(),                        bt.algos.WeighEqually(),                        bt.algos.Rebalance()])
bkts = [bt.Backtest(s1, close),bt.Backtest(s2,close)]res = bt.run(*bkts)
代码位置:
代码+数据下载:AI量化实验室——2025量化投资的星辰大海
论坛进行了重大改版本,再出发。
年少时,一度想做一个论坛,来服务一批志趣相投的用户。本次也算圆了一个小心愿。使用

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约