原创内容第832篇,专注智能量化投资、个人成长与财富自由。星球里有同学使用掘金量化终端,复现了我的一个策略(年化105%,回撤25.5%):

def trend_score(close, period=25):
"""
向量化计算趋势评分:年化收益率 × R平方
:param close: 收盘价序列(np.array或pd.Series)
:param period: 计算窗口长度,默认25天
:return: 趋势评分数组,长度与输入相同,前period-1位为NaN
"""
if len(close) < period:
return np.full_like(close, np.nan)
y = np.log(close)
windows = np.lib.stride_tricks.sliding_window_view(y, window_shape=period)
x = np.arange(period)
# 预计算固定值
n = period
sum_x = x.sum()
sum_x2 = (x ** 2).sum()
denominator = n * sum_x2 - sum_x ** 2
# 滑动窗口统计量
sum_y = windows.sum(axis=1)
sum_xy = (windows * x).sum(axis=1)
# 回归系数
slope = (n * sum_xy - sum_x * sum_y) / denominator
intercept = (sum_y - slope * sum_x) / n
# 年化收益率
annualized_returns = np.exp(slope * 250) - 1
# R平方计算
y_pred = slope[:, None] * x + intercept[:, None]
residuals = windows - y_pred
ss_res = np.sum(residuals ** 2, axis=1)
sum_y2 = np.sum(windows ** 2, axis=1)
ss_tot = sum_y2 - (sum_y ** 2) / n
r_squared = 1 - (ss_res / ss_tot)
r_squared = np.nan_to_num(r_squared, nan=0.0) # 处理零方差情况
# 综合评分
score = annualized_returns * r_squared
# 对齐原始序列长度
full_score = np.full_like(y, np.nan)
full_score = pd.Series(
index=close.index,dtype='float64')
full_score[period - 1:] = score
return full_score
def roc(se: pd.Series, N):
return se / se.shift(N) - 1
def ma(X, d):
X.ffill(inplace=True)
y = X.rolling(window=d).mean()
return y
# 定义因子计算函数
def calculate_factor(symbol,data):
"""
计算单个标的的因子值。
:param symbol: 标的代码
:param end_time: 结束时间
:return: 因子值
"""
因为咱们的回测系统都是自研的,尽管所有代码都给到大家,但偶尔会有同学担心说与成熟平台的运行结果会不会不差别?这种复现是非常有价值的,也赠送的积分,再次感谢分享~。openbb主要提供的是海外的数据源,国内其实也有一个不错的框架就是zvt。你可以直接pip安装,我是直接使用的源代码,安装依赖之后:from zvt.domain import *
Stock.record_data(provider="em")
df = Stock.query_data(provider="em", index='code')
print(df)
Stock1dHfqKdata.record_data(code='000338', provider='em')
df = Stock1dHfqKdata.query_data(code='000338', provider='em')
print(df)
2025年Q1快结束了,新年计划里的一些内容进行了优化。如果你只说要学英语,或者要阅读,这时候列一个计划,往往是低效的,因为没有目的性。你先想清楚,学英语要解决什么问题?是考试,还是沟通,或者旅游等等。阅读也一样,有目标感的成长计划,往往更加务实。“凡事发生都是想教会你一些事情”,让你成为更好的自己。代码和数据下载:AI量化实验室——2025量化投资的星辰大海AI量化实验室 星球,已经运行三年多,1500+会员。
aitrader代码,因子表达式引擎、遗传算法(Deap)因子挖掘引擎等,支持vnpy,qlib,backtrader和bt引擎,内置多个年化30%+的策略,每周五迭代一次,代码和数据在星球全部开源。
另外一个星球,专注AGI通用智能及智能体应用开发: