原创内容第634篇,专注量化投资、个人成长与财富自由
昨天咱们把大模型生成因子引入进来了,具体可以看这里:
干货:年化18.1%,大模型如何实现因子挖掘(附python代码和数据下载)
CTA有两种构建策略的方式,传统手工构建因子,在日内的策略,按照经验或者观察去设定进场、出场信号。
而机器学习则是机器去构建。
大家说遗产算法总是过拟合,其实人工构建本质上也是对过去的总结,一样过似合。
今天咱们重点来看看在分钟级数据上,遗传算法挖掘出择时因子的效果,以及通过择时策略看回测的效果。
单因子回测评价的核心代码:
def picktime_backtester(self, evaluate, inds): print('开始择时回测') df, names = self._calc_df(inds) results = [] # 向量化回测 # 计算每日收益 for name in names: if name in df.columns: daily_returns = df['close'].pct_change() # 根据信号计算策略收益] signal = df[name] signal_80 = df[name].rolling(window=1000).apply(lambda x: np.percentile(x, 80)) signal_20 = df[name].rolling(window=1000).apply(lambda x: np.percentile(x, 20)) signal = np.where(signal > signal_80, 1, np.nan) signal = np.where(signal < signal_20, -1, signal) signal = pd.Series(signal, index=df.index) signal = signal.ffill() # 这一步很关键在1后面的会前向填充,即持仓不变。 signal = signal.fillna(0) strategy_returns = signal * daily_returns.shift(1) # 计算累积收益 portfolio_value = (1 + strategy_returns).cumprod() # 计算投资组合的平均回报率 mean_return = np.mean(strategy_returns) # 计算投资组合回报率的标准差 std_dev = np.std(strategy_returns) # 计算夏普比率 sharpe_ratio = (mean_return - 0) / std_dev results.append((portfolio_value, sharpe_ratio)) else: results.append((0, 0)) print(results) return results
择时回测的结果:
信号delta(ADX(high, low, close, 330), 630)
吾日三省吾身
打工是工业时代以来,最常见的谋生的方式。
出售时间,让渡风险。
从投资的角度看,夏普比(收益风险比)并不高,有点类似短期债券的投资风险。基本上不会亏本金,收益比存款高一些,波动不大。
创业自己承担风险,如果前期投入多,周期长,这里的风险还不小,但收益没有上限,就像股票投资。
其实还有一个中间态,就是尽量控制成本的——一人企业。
尽快形成商业闭环。
从业务形态上,最优的一定是互联网线上业务。
不受地域限制,零成本复制。
抖音到tiktok的复制难度,肯定远小于滴滴出海。
——找到一个你自己或者小团队就可以长期运转的互联网业务。你就自由了。
现在数字游民的口号——只上班不工作,就是这种状态的一种过渡。只不过他们没有自己的生意,还是帮别人做事情。
只要他们找到自己可以持续运转且能赚到钱的事情,这个模式就走通了。
历史文章:
干货:年化18.1%,大模型如何实现因子挖掘(附python代码和数据下载)
Quantlab5.7代码发布:使用年化收益来优化遗传算法因子挖掘
关注我,一起财富自由~。