惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
U
Unit 42
IT之家
IT之家
Y
Y Combinator Blog
T
Tailwind CSS Blog
B
Blog
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
Jina AI
Jina AI
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
I
InfoQ
J
Java Code Geeks
F
Fortinet All Blogs
T
The Blog of Author Tim Ferriss
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理
腾讯CDC
Hugging Face - Blog
Hugging Face - Blog
GbyAI
GbyAI
博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
L
LangChain Blog

V2EX

我用 AI 写代码,但终端管理反而成了累赘——于是我做了 codux [调研] 各位在公司都用什么 ide 和 agent 写代码? 老运维 share 一个运维平台 看到有公司考核 token 指标,很好奇大家上个月的 AI 账单是多少 GLM-Coding 调用持续报错: z.ai 的 Lite 套餐几乎无法使用,官方 Pro/Max 是否稳定? 现在还有什么渠道可以稳定安全地使用 Claude 吗? 上海漕河泾内推,本组有 2 个 hc,一个后端,一个前端,预算都是 20k 左右,不打卡,氛围好 如果 V2EX 上有一组不永久保存聊天记录(比如只保存 7 天或者 24 小时)的聊天室,那么会开启哪些有用或者有趣的可能? gemini cli 貌似挂了,一直返回 403 第一次在自媒体上赚到钱 收集了最近在使用的低价 GPT, Gemini,邮箱等 AI 会员的小店合集 讨论个大实话:现在企业还在说 AI 编程提效 20%, 30%的,真的太落后,没用懂 AI。因为包括很多前沿公司,已经狂奔到提效 200%-500%的情况 [招聘][远程][币安] 前端/后端/QA/iOS/Android 至少 3 年以上经验 目前有大量 HC 欢迎投递 Chatgpt Pro 用量用不完的可以开这些设置 面试的时候好像遇到钓鱼了,给各位避个坑 cursor 年续费 22 号到期, 自动续费是否还是老的计次套餐呢 被两件破事毁掉的一下午,琐碎的内耗消磨人的精力 使用 Planet 存储 Codex 的会话或者重要信息 如果业务部门领导不要你开发功能,而是要求你教会它用 claude code 开发功能,你会怎么做? 分享一个 MacOS 接绿联 CM818 USB 转 DP 转接器使用感受 我的 HR 朋友 10 年老 Java ,非全大专,大家帮忙看看简历 开源了一个 AI 口语练习工具,音素级发音评分,完全免费可自部署 V2EX 上有哪些你觉得很有趣、印象深刻的妹纸? 字节为啥不出个国内版 Vercel? 有在大马的朋友吗? 问个运营商问题 你们在有领导的公司大群发过的最大胆的消息是什么 公司裁员,目前没有工作。想试试摆摊,做一个移动鲜啤打酒车 我的硬盘 Memblaze Pblaze 5 Linux 下不识别,给 Linux 内核提交了补丁, AI 说有望被合并 只有我一个人觉得 codex 不好用?
有人做量化交易吗?分享个回测框架
matters · 2026-02-12 · via V2EX

量化交易是用模型和程序,根据历史数据和规则自动买卖金融资产,刚入门可以看看这份量化百科

量化交易最核心的东西,其实是回测。没数据没回测,策略就跟瞎子摸象一样。我自己早期就是先写了一个小框架,把历史数据丢进去,看看策略表现,起起伏伏的,平均也算能稳住收益。长期是肯定能看到规律的,但是短期内不一定,我期间也经历过连续几个月收益掉下去的情况。

这篇主要分享下我的 python 回测框架:

回测框架四大模块

  1. 数据管理 历史数据都公开的。把数据整理好,策略用的时候直接拿就行。我以前就是自己抓数据,后来发现用现成 API 快得多。

  2. 策略逻辑 我的策略就是很简单的均线交叉。古老但是有效:短期均线上穿长期均线就买,反过来就卖。可能现在看有点老了/简单了,但不影响测试策略思路。

  3. 执行引擎 模拟下单、算手续费和滑点。早期没注意这块,结果回测收益和实盘差别挺大,所以还是要加上。

  4. 绩效评估 计算收益率、最大回撤、夏普比率等。长期来看,能帮你判断策略稳不稳,但短期很波动,我就遇到过连续几个月都亏的情况。

Python 回测框架实操示例

我就直接贴我常用的最简版本,大家可以自己玩:

import pandas as pd

# 数据加载器
class DataHandler:
    def __init__(self, data: pd.DataFrame):
        self.data = data

    def get_data(self):
        return self.data

# 简单策略:均线交叉
class Strategy:
    def generate_signals(self, df):
        df['signal'] = 0
        df.loc[df['close'] > df['close'].rolling(5).mean(), 'signal'] = 1
        df.loc[df['close'] < df['close'].rolling(5).mean(), 'signal'] = -1
        return df

# 回测执行
class Backtest:
    def __init__(self, data, strategy):
        self.data = data
        self.strategy = strategy

    def run(self):
        df = self.strategy.generate_signals(self.data)
        df['returns'] = df['close'].pct_change() * df['signal'].shift(1)
        df['cum_returns'] = (1 + df['returns']).cumprod()
        return df

# 示例数据
data = pd.DataFrame({'close': [100, 102, 101, 103, 105, 107, 106, 108, 110, 109]})

dh = DataHandler(data)
strategy = Strategy()
bt = Backtest(dh.get_data(), strategy)
result = bt.run()
print(result[['close', 'signal', 'cum_returns']])

这个版本简单但够用,特别是当个入门工具,挺不错的。

可视化一下

import matplotlib.pyplot as plt

plt.plot(result['cum_returns'], label='策略累计收益')
plt.title('回测结果')
plt.xlabel('时间')
plt.ylabel('累计收益')
plt.legend()
plt.show()   `

我自己做的时候就是看这条曲线,长期是能看出策略趋势的,但短期波动挺大的,所以别被一两个月的亏损吓到

关于金融数据 API ,我用过alpha vantagealltick,都 OK 。自己挑的时候,看下数据是否准确、接入是不是省事、市场覆盖面适不适合你。

好了,我的框架分享到这里。玩量化的话,建议先搭一个框架,把数据、策略、回测流程跑通,长期来看肯定能节省很多摸索时间。