当前位置: 首页 > news >正文

Quantlab 5.11含ETF策略年化52%以及卡玛比4.79的债券策略(全量ETF后复权数据下载)

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

这两天两个策略随代码打包共享:

年化收益52%,最大回撤13%,卡玛比率3.77,ETF轮动系列大有可为(附策略代码和数据下载)。

年化12.6%,最大回撤才2.6%的债券轮动策略,卡玛比4.79,稳稳的幸福

本周更新核心要点:

1、本周所有的策略,含如上两个策略。

2、全量ETF历史日线,一共200多万行,1200+多支ETF,以及LOF基金。

图片

图片

全新的Engine:

class Engine:def _parse_rules(self, task: Task, df):def _rules(rules, b_or=False):signals = []for r in rules:signals.append(eval(r))all = Nonefor s in signals:if all is None:all = selse:if b_or:all != selse:all &= sreturn all# rules = ['roc_20>0.02']for factor in task.names:globals()[factor] = CSVDataloader.get_col_df(df, factor)# print(globals()[factor])all_buy = _rules(task.select_buy)all_sell = _rules(task.select_sell, b_or=True)  # 卖出 求或,满足一个即卖出return all_buy, all_selldef _get_algos(self, task: Task, df):bt_algos = importlib.import_module('bt.algos')if task.period == 'RunEveryNPeriods':algo_period = bt.algos.RunEveryNPeriods(n=task.period_N)else:algo_period = getattr(bt_algos, task.period)()algo_weight = getattr(bt_algos, task.weight)()algo_select_where = None# 信号规则if task.select_buy is not None:signal_buy, signal_sell = self._parse_rules(task, df)select_signal = np.where(signal_buy, 1, np.nan)select_signal = np.where(signal_sell, 0, select_signal)select_signal = pd.DataFrame(select_signal, index=signal_buy.index, columns=signal_buy.columns)select_signal.ffill(inplace=True)select_signal.fillna(0, inplace=True)algo_select_where = bt.algos.SelectWhere(signal=select_signal)# 排序因子algo_order_by = Noneif task.order_by_signal:signal_order_by = CSVDataloader.get_col_df(df, col=task.order_by_signal)algo_order_by = SelectTopK(signal=signal_order_by, K=task.order_by_topK, dropN=task.order_by_dropN,sort_descending=task.order_by_DESC)algos = []algos.append(algo_period)if algo_select_where:algos.append(algo_select_where)else:algos.append(bt.algos.SelectAll())if algo_order_by:algos.append(algo_order_by)algos.append(algo_weight)algos.append(bt.algos.Rebalance())return algosdef run(self, task: Task):# 加载数据df = CSVDataloader.get_df(task.symbols, True, task.start_date, task.end_date)# 计算因子if len(task.symbols):df = CSVDataloader.calc_expr(df, fields=task.fields, names=task.names)s = bt.Strategy(task.name, self._get_algos(task, df))df_close = CSVDataloader.get_col_df(df, 'close')bkt = bt.Backtest(s, df_close, name='策略')bkts = [bkt]for bench in [task.benchmark]:data = CSVDataloader.get([bench])s = bt.Strategy(bench, [bt.algos.RunOnce(),bt.algos.SelectAll(),bt.algos.WeighEqually(),bt.algos.Rebalance()])stra = bt.Backtest(s, data, name='benchmark')bkts.append(stra)res = bt.run(*bkts)return res

策略代码+数据下载:AI量化实验室——2024量化投资的星辰大海

代码下载:AI量化实验室 星球,已经运行三年多,1100+会员。quantlab代码交付至5.X版本,含几十个策略源代码,因子表达式引擎、遗传算法(Deap)因子挖掘引等,每周五迭代一次。

02 五年财务自由退休

财富自由实战方法论,构建两大系统:金钱系统和商业系统。

推荐第八本书《最重要的事只有一件》。

关于专注。我们想做的事情太多,难免分散注意力。

注意力是稀缺的。把有限的时间聚焦到最重要的事情上。

本书就重要的观点:最重要的事情就是当你完成这件事后,其他事情变得不重要或不必须。

比如咱们说现金系统和商业系统。

最重要的是商业系统。

因为现金系统投资体系构建完成,需要更多本金。

而商业系统可以补充本金。而商业系统里,最重要的是“有价值的产品”。你就知道自己应该如何安排时间和优先级了。


http://www.mrgr.cn/news/25750.html

相关文章:

  • 基于.NET的土特产销售系统—计算机毕业设计源码27155
  • 大聪明教你学Java | 深入浅出聊 Elastic search
  • 衡石分析平台使用手册-离线环境依赖组件准备
  • 刚刚,OpenAI发布了o1模型,国内可用
  • 【生日视频制作】酒吧霸屏视频制作软件一键生成器方法教程AE模板修改文字软件特效素材【AE模板】
  • PHP开发的站长导航网源码修复版
  • 内核线程之User-Mode Helpers
  • Python在AOIP(Audio Over IP)方面的应用探讨
  • 啊?不会这就是草莓吧?OpenAI发布最新模型——OpenAI o1-preview
  • 中等职业学校新媒体一键分发软件实训室解决方案
  • ps5计时器游戏厅计时计费软件 佳易王电玩店带定时提醒的计时计费管理系统操作教程
  • ae软件下载安装-全版本AE软件安装包下载
  • PMP--一模--解题--21-30
  • mysql日期函数
  • Github 2024-09-13 Java开源项目日报 Top10
  • 【习题】一次开发,多端部署
  • 数据结构修炼——时间复杂度?空间复杂度?教你如何衡量算法的优劣!!
  • 视频转换XMedia Recode v3.6.0.1
  • C#归并排序算法
  • 【Linux】网络层协议——IP