全部
文章&策略
学习干货
问答
官方
用户头像sh_*219t3e
2025-11-06 发布
最近我专门针对 Supermind 平台的AI 量化代码生成平台进行了优化改进,现在效果比市面上的 DS、豆包等工具好很多。 👉 SuperMind AI量化代码生成平台 这个工具最大的特点是直接和 AI 对话就能生成完整可运行的Supermind量化策略代码。你不需要懂 Python、C# 或策略 API,只要用自然语言描述你的交易逻辑,比如:“当5日均线向上突破20日均线时买入,反向时卖出。” AI 就会自动帮你生成完整策略代码,并能直接在平台上运行。 相比于通用大模型的输出,这个平台针对量化交易进行了专门优化生成的代码结构更清晰,逻辑更准确,对策略逻辑的理解更接近量化开发者的思路,并且可用作 API 查询或策略自动生成工具 之前上线后,很多朋友反馈代码质量和可运行性都非常高,几乎不需要再手动修改。现在我们的AI量化代码生成平台已经全面支持 Supermind,你可以直接体验。如果你之前在用 DS、豆包等平台,不妨试试看这个版本,可能会刷新你对AI 写量化策略的想象。
浏览2568
评论33
收藏1
用户头像sh_****559rtx
2026-03-10 发布
各位宽客好。在我的金融实证课上,我们常把外汇市场的异动作为股票策略的重要前置特征。对于服务核心客群的投顾而言,如何抢在市场异动前捕捉汇率微观结构的变化,是一门必修课。 从轮询到推送的认知跃迁 早期我们很多同学在写数据抓取脚本时,喜欢用死循环去拉取 REST 接口。这种做法在实盘中非常吃亏:延迟高、容易被限制频次,而且 UI 线程很容易被阻塞。真正的机构做法,是让数据主动“来找你”。 流式数据的工程实现 在确定了策略所需的底层资产(例如经典的 USD/EUR)后,直接挂载长连接监听才是正途。这样不仅大幅降低了 CPU 的空转率,还能在微秒级别捕获 tick 数据。 看一段极简的监听守护进程实现: import websocket import json # 极速响应回调 def on_message(ws, message): tick = json.loads(message) print(f"[{tick['time']}] {tick['symbol']} 现价: {tick['price']}") # 握手及订阅资产簇 def on_open(ws): subscribe_msg = { "type": "subscribe", "symbols": ["USD/EUR", "USD/JPY"] } ws.send(json.dumps(subscribe_msg)) ws = websocket.WebSocketApp( "wss://ws.alltick.co/realtime", on_message=on_message, on_open=on_open ) ws.run_forever() 我们团队在验证时,这类基于 AllTick API 协议规范的推送方案,能非常稳健地支撑起多因子模型的数据清洗前置步骤。 量化终端的落地展示 获取到二进制流并反序列化后,我们会在 Pandas 或本地字典中维护一份快照库: 标的物 Tick价格 捕获时间 USD/EUR 0.9231 2026-03-06 10:05 USD/JPY 134.50 2026-03-06 10:05 针对高频的涨跌判断,一行简单的算子即可搞定: # 收益率快速计算 def change_pct(current, previous): return round((current - previous) / previous * 100, 4) print("当前动量:", change_pct(0.9231, 0.9228), "%") 实盘防坑指南: 实时性解决了,但别忘了在本地做好去重逻辑。对于数据落盘,保留最近24小时的高精度快照足以应对大部分的日内特征提取。保持中间件的轻量,才能让策略运行得更稳。
浏览6
评论0
收藏0
用户头像sh_***77449d
2026-03-10 发布
在跨境量化策略开发、多币种资产回测及全球市场套利模型构建中,外汇汇率数据的高效获取是核心基础环节。不同接口的实时性、数据完整性、稳定性直接影响策略回测精度与实盘执行效果。本文从量化研究视角,对比三款主流外汇接口的核心性能指标,提供可直接集成到量化框架的汇率获取代码,并分享接口接入的工程化优化思路,为量化投资者与策略研究者提供实操参考。 一、量化场景下外汇接口的核心选型维度 量化策略对汇率数据的需求区别于普通业务场景,核心关注数据时效性、历史数据完整性、调用稳定性、成本可控性四大维度,具体痛点如下: 实时性不足:高频率跨境套利策略对汇率延迟敏感,秒级延迟可能导致策略失效; 历史数据缺失:长期回测需完整的多周期历史汇率(分钟 / 小时 / 日线),部分接口仅提供低频或短周期数据; 调用稳定性差:实盘运行时接口限流、宕机易导致策略中断,尤其在市场波动高峰期; 成本不可控:高频率调用下接口费用易超出量化策略的成本预算,免费层限额无法满足回测与实盘需求。 针对上述需求,实测对比 AllTick、Alpha Vantage、IEX Cloud 三款主流外汇接口的核心性能与成本指标,结果如下: 对比项 AllTick Alpha Vantage IEX Cloud 实时延迟 Tick 级,平均约 150ms 秒级或更高 约 300–600ms 免费层速率 可用于 PoC 验证,调用限制宽松 每分钟约 5 次请求 免费 credit 额度,实际可用有限 WebSocket 原生支持实时推送 不支持 提供有限 WebSocket 免费历史数据 高级套餐可提供 5 年以上 低频时间序列 免费历史数据有限 每月 100 万次请求成本 约 99 美元 约 300 美元 通常超过 500 美元 API 可用性 (2025) 金融级稳定性,约 99.9% 高峰期可能受限流,99.0–99.5% 99.9%,依赖配额体系 从量化场景适配性分析:AllTick 的 Tick 级延迟与高可用性适配高频策略,5 年以上历史数据满足中长期回测需求,且成本优势显著;Alpha Vantage 仅适用于低频率策略的初步验证;IEX Cloud 虽可用性达标,但成本过高,仅适合机构级量化团队。 二、基于 AllTick API 的量化级汇率数据获取实现 以下代码可直接集成到 Python 量化框架(如 Backtrader、VNPY 等),实现实时汇率抓取(用于实盘信号)与历史汇率获取(用于策略回测),代码经实测可稳定运行。 1. 环境准备 安装基础依赖库: pip install requests 2. 实时汇率获取(适配高频策略实盘) import requests import json # 接口请求地址 url = "https://quote.alltick.io/quote-stock-b-api/kline" # 请求参数配置 params = { "token": "your_token", # 替换为实际的接口token "query": "EURUSD", # 货币对(欧元兑美元,可替换为任意交易对) "kline_type": 1, # 1=分钟级数据,适配高频策略 "limit": 1 # 获取最新1条数据,降低实盘数据处理压力 } # 发送GET请求获取实时汇率 response = requests.get(url, params=params) # 响应结果处理(适配量化框架的数据格式要求) if response.status_code == 200: data = response.json() if data["ret"] == 0: kline = data["data"]["kline_list"][0] price = kline["close"] # 可直接将price传入量化策略的信号生成模块 print("EURUSD 最新汇率:") print(json.dumps({"symbol": "EURUSD", "price": price}, indent=4)) else: print("API error:", data["msg"]) # 记录接口错误,便于策略异常处理 else: print("HTTP error:", response.status_code) # 网络层异常,触发策略容错机制 3. 历史汇率获取(适配策略回测) import requests import json # 接口请求地址 url = "https://quote.alltick.io/quote-stock-b-api/kline" # 请求参数配置 params = { "token": "your_token", # 替换为实际的接口token "query": "EURUSD", # 货币对(欧元兑美元) "kline_type": 8, # 8=日线级数据,可替换为1/5适配不同周期回测 "limit": 10 # 获取最近10条历史数据,可调整为更大数值满足长期回测 } # 发送GET请求获取历史汇率 response = requests.get(url, params=params) # 响应结果处理(转换为回测框架可识别的DataFrame格式前置处理) if response.status_code == 200: data = response.json() if data["ret"] == 0: print("EURUSD 历史K线数据:") print(json.dumps(data["data"]["kline_list"], indent=4)) # 此处可添加数据清洗、格式转换逻辑,输出为回测框架所需的OHLCV格式 else: print("API error:", data["msg"]) else: print("HTTP error:", response.status_code) 关键说明:kline_type 参数对应不同数据周期(1 = 分钟、5=5 分钟、8 = 日线),可根据策略周期(高频 / 中频 / 低频)灵活调整;历史数据获取时,建议将返回结果转换为 OHLCV 格式(Open/High/Low/Close/Volume),适配主流量化回测框架的输入要求。 三、量化场景下外汇接口接入的工程化优化 为保障量化策略的稳定性与数据质量,针对接口接入环节提出 5 项可落地的优化措施: 分层验证与成本控制:先用免费层完成策略回测验证,根据回测效果评估接口调用频率,再选择匹配的商用套餐,避免过度采购; 本地缓存与数据复用:针对汇率短期波动特性,设置 30~60 秒本地缓存,减少重复调用,既降低接口成本,也提升策略数据读取效率; 多维度监控与告警:实时采集接口调用成功率、响应延迟、错误码分布等指标,当延迟超过阈值(如 200ms)或成功率低于 99% 时触发告警,保障实盘策略运行; 接口容灾与降级:配置 1-2 个备用接口(如 AllTick 故障时切换至 IEX Cloud),通过熔断机制实现无缝切换,避免策略因单一接口故障中断; 数据预处理逻辑:对接入的汇率数据增加异常值过滤、时间戳校准、缺失值填充等预处理步骤,保证回测与实盘数据的一致性。 总结 外汇数据接口的选型与接入是量化策略开发的基础环节,其性能直接影响策略的回测有效性与实盘收益。从量化场景的核心需求出发,AllTick 接口在实时性、历史数据完整性、成本与稳定性上综合适配性最优;本文提供的代码可直接集成到量化框架,优化措施可有效提升接口使用的稳定性与性价比。 关键点回顾 量化场景下外汇接口选型核心关注实时延迟、历史数据完整性、可用性、成本,AllTick 适配多数量化策略需求; 提供的代码可直接用于实时汇率抓取(实盘)与历史汇率获取(回测),仅需替换 token 并适配策略周期; 缓存、监控、容灾等优化措施是保障量化策略稳定性的关键,需结合策略特性落地。 免责声明:本文所有代码及示例仅作技术分享,不构成任何投资建议;量化策略的收益与风险并存,投资者需独立评估策略有效性。
浏览9
评论0
收藏0
用户头像sh_*219t3e
2025-09-26 发布
大家好,我想和大家分享一个我最近开发的项目——一款面向量化交易的 AI 智能助手工具网站。它可以帮助大家快速生成高质量、可直接复制运行的量化策略代码,无论你是量化小白还是策略开发者,都能从中受益。 核心亮点: 1.多平台支持:目前已支持 PTrade、QMT、miniQMT、聚宽等,并计划不断扩展更多平台。 2.策略生成高效:用户只需选择平台并输入策略想法,AI 即可生成可运行的量化策略代码。 3.快速入门与优化: • 对量化小白:轻松生成可直接运行的策略,快速上手交易。 • 对策略开发者:帮助完善、优化已有策略,节省开发时间。 • 对文档需求者:可作为量化平台的 API 文档问答机器人,方便查询和使用。 4.业内首创:这是首个面向多平台的量化交易 AI 助手,解决了现有 Deepseek 或 Trae 等 AI 工具因缺乏平台知识库而生成代码无法运行的问题。 使用方式:登录 → 选择你使用的平台 → 输入策略想法 → 生成可运行的策略代码。 我希望这个工具能帮助大家更高效地进行策略开发和量化交易,也欢迎大家在帖子里分享使用体验和建议。 网站链接:https://iris.findtruman.io/ai/tool/ai-quantitative-trading/ 如果大家有任何问题或功能需求,也可以在帖子里留言,我会持续优化和更新,让它成为量化交易领域最实用的 AI 助手!
浏览2819
评论30
收藏1
用户头像sh_*219t3e
2025-09-29 发布
之前我分享过一个小工具网站,支持国内主流量化平台,可以让 AI 直接帮你写各个平台的策略代码,直接生成可运行的策略代码,代码质量远高于直接使用 DeepSeek、Trae 等平台。上线之后获得了非常多朋友的好评。 大家可以直接用描述策略,然后一键生成可运行的完整策略代码,也可以把它当做一个API 查询工具。 AI工具平台:https://iris.findtruman.io/ai/tool/ai-quantitative-trading/ 我看平台正在开发SuperMind支持,很快就能支持同花顺了
浏览1881
评论45
收藏7
用户头像sh_****893u0j
2026-03-09 发布
为何这种事情没有公告?为了跑程序特意买了季度会员。请问这块什么时候升级完成?
浏览66
评论2
收藏0
用户头像mx_**327w3p
2026-03-09 发布
如题
浏览29
评论1
收藏0
用户头像神盾局量子研究部
2023-05-15 发布
背景与目的 之前我们有了策略回测代码,到实盘要经过熟悉实盘API、写代码、调试代码的环节,大概还需要1-2周的时间才能实盘,有非常多的用户到这一步 会束手无策,甚至放弃! 现在,有了回测代码直接实盘的功能,可以省去这个步骤,让刚入门的朋友也可以直接拿回测代码进行实盘了。很棒!为我们的工程师点赞! 此外还新增了一些接口,方便实盘交易。 不断降低实盘的门槛是我们的目标,如果您有任何好的想法意见请随时留言! 本功能需要重启研究环境才能生效! 策略实盘交易(回测代码1分钟实盘) ?调用方法: research_trade( name, source_code, capital_base=100000, frequency='DAILY', stock_market='STOCK', benchmark=None, trade_api=None, signal_mode=True, dry_run=False, recover_dt=False, ) ​ ?参数说明: name:str,策略名称,会在./persist/下生成一个同名目录,用于存放持久化的策略信息 source_code:str,策略代码,可从策略研究模块中直接复制,代码置于"""..."""中 capital_base: float,初始资金量 如果接入了TradeAPI对象,且 signal_mode=False,那么此参数无意义 frequency: str,策略频率,'DAILY'或'MINUTE' stock_market: str,策略类型,默认'STOCK' benchmark: str,基准指数 trade_api: TradeAPI对象,绑定需要仿真交易的资金账号 如果不传入TradeAPI对象,即 trade_api=None,此时为模拟交易 如果传入TradeAPI对象,此时为仿真交易 signal_mode: bool,(新增)默认为 True signal_mode=True,此时策略实际上运行的时初始资金为capital_base的模拟交易,context、get_orders等方法返回的结果均为模拟交易中计算的数据,与资金账号的数据无关;策略下单在模拟交易撮合成交后,才会通过trade_api下单至柜台 signal_mode=False,此时策略中context、get_orders等方法返回的结果均为从 柜台查询,策略下单也会直接下至柜台 dry_run: bool,试运行,立即返回,默认为 False recover_dt: bool或 str,(新增)是否断点运行,默认为 False recover_dt=False,从当前时点开始执行,不从断定运行 recover_dt=True,从上次策略结束时点开始运行 recover_dt='today',从当日开始运行,此模式下只会补执行 before_trading与 open_auction,handle_bar依旧从当前时间开始执行 recover_dt='yyyyMMdd HH:mm',从指定时间开始运行 ?️ 返回值: RealtimeService类 ?作用: 模拟交易:撮合机制与回测相同 仿真交易:通过仿真柜台撮合,更贴近真实交易环境 ❗注意事项: 策略需在9:00前开启运行,否则在未设置recover_dt的情况下,会跳过before_trading等步骤 初始化TradeAPI时需要指定下单策略order_policy,MarketPolicy为市价下单;LimitPolicy为限价下单。如未指定,由于策略下单时使用均价,可能存在多位小数,最终实盘账户下单的时候可能产生废单 signal_mode=True时,如想在context中获得仿真账号的持仓、资金等数据,可以使用同步函数 sync_trade_api() ?示例: from tick_trade_api import TradeAPI #初始化TradeAPI时需要指定下单策略,MarketPolicy为市价下单;LimitPolicy为限价下单 trade_api=TradeAPI('69271711',order_policy=MarketPolicy) source_code=""" # 股票策略模版 def init(context): pass # 盘前执行 def before_trading(context): pass # 开盘时运行函数 def handle_bar(context, bar_dict): order_id = order('000001.SZ', 100) print(get_orders()) try: cancel_order(order_id) except: print('撤单失败') print(get_open_orders()) print(get_tradelogs()) print(context.portfolio.stock_account) print(context.portfolio.positions) """ rtrade = research_trade( '研究环境策略', source_code, frequency='MINUTE', trade_api=trade_api, signal_mode=False, recover_dt='today' ) ​ trade_api=TradeAPI('69271711',order_policy=MarketPolicy) 中的账号是模拟资金账号或者是实盘资金账号。 其他更新 这次还增加了几个功能 策略框架中增加 : cancel_order_all() 全撤 get_tradelogs()获取当日全部成交订单 get_orders() 获取委托,和get_order()一致,主要时和tradeapi中函数名对齐 tradeapi增加: get_open_orders() 获取当日未成订单 cancel_order_all() 全撤
浏览40055
评论13
收藏73

精华 编写第一个量化策略(手把手详细版教程)内含策略代码

用户头像量化官方小助理
2023-05-04 发布
编写第一个量化策略(手把手详细版教程)  对于大部分人来说,量化交易是非常陌生与神秘的。本节内容将带你开启第一个量化策略!  本节内容摘要:    1.理解量化策略的基本框架。    2.学会编写一个简单的量化交易策略。    3.学会将量化交易策略绑定实盘模拟交易,并实时收到交易策略的买卖信号。  1.理解量化策略的基本框架   通常情况下,完整的量化交易策略至少需要确定两件事:    A.交易标的,即买什么;    B.确定交易时机,即怎么买卖。   让我们来设计一个简单完整的量化交易策略:    策略交易标的:贵州茅台;    策略交易时机:5日均线与20日均线金叉时,买入;5日均线与20日均线死叉时,卖出。  2.学会编写一个简单的量化交易策略  第一步:打开SuperMind量化交易平台,先在上方导航栏点击“我的策略”—“策略编译”,再点击蓝色按钮“+新建策略”,接着点击已创建的策略进入策略编译器页面,如下:  温馨提示:“回测列表”下方三个按钮,可以设置编译器字体大小,背景颜色,编译设置,开启全屏编译,查看API文档,如下:    第二步:理解量化交易策略框架对应的代码框架。def init(context): #初始化函数:确定交易标的def handle_bar(context, bar_dict): #定时运行函数:确定交易时机  框架理解:   1.def init(context)与def handle_bar(context, bar_dict)是两个函数,函数格式固定为:def 函数名(参数),其中def后面带空格键,函数末尾必须带冒号。   2.def init(context)函数是初始化函数,只运行一次,确定初始化条件;def handle_bar(context, bar_dict)函数是定时运行函数,平台默认该函数定时运行。日级策略,每日9:30;分钟级策略,交易期间内的每分钟。   3.“#”后面为注释内容,用于注释代码,便于编写和阅读。  第三步:确定交易标的:context.security = '600519.SH'。  温馨提示:   1.context是账户对象,该对象存放所有账户相关信息,持仓、可用现金、资产盈亏。   2.context.security是在账户对象下,设置security变量,存放在账户内,这里我们需要确定交易标的,即:context.security = '600519.SH'。def init(context): context.security = '600519.SH'#已确定交易标的def handle_bar(context, bar_dict): #定时运行函数:确定交易时机  第四步:确定交易时机,即为:5日均线与20日均线金叉时,买入;5日均线与20日均线死叉时,卖出。   从交易时机出发,我们需要计算交易标的5日和20日均线,那么5、20日均线需要用历史行情数据的收盘价来计算。   整个流程即:获取历史行情20日的收盘价数据———计算5、20日均线———判断5、20日均线,进行买卖交易。    A.获取历史行情20日的收盘价数据:     1.找到函数历史数据函数:history     2.填写函数参数,获取到数据:      i.交易标的,即:获取那个股票的数据。      ii.数据字段:['close']收盘价,即:获取哪个数据。      iii.输入历史长度,即:获取多长时间的数据。      iv.获取数据的时间步长,即:获取日线级步长数据。      v.填写是否跳过停牌数据,复权选项,返回数据格式。      最终结果即为:history(context.security, ['close'], 20, '1d', False, 'pre', is_panel=1)     3.将获取到的数据储存,便于计算,即:closeprice = history(context.security, ['close'], 20, '1d', False, 'pre', is_panel=1)#获取证券过去20日的收盘价数据 closeprice = history(context.security, ['close'], 20, '1d', False, 'pre', is_panel=1)    B.计算5、20日均线:     1.获取数据值,即:closeprice['close'],['close']可以获取储存中的收盘价数据,格式为closeprice['close']。温馨提示:closeprice是我们刚才获取的数据,但是数据有股票、时间、数值,我们直接用['close']获取收盘价数据值用于计算即可。     2.选取数据长度,即:closeprice['close'].iloc[-5:]。iloc[]用于取值,我们之前获取20个数据,但5日均线只需要过去5日的收盘价,因此iloc[-5:]即为获取倒数第五个到最后一个数据。温馨提示:      i.iloc[:]是获取所有数据。      ii.iloc[:x]是从第一个获取到第x个,不包括第x个。      iii.iloc[x:y]是从第x个到第y个,包括x,但不包括y。      iv.iloc[-x:]获取倒数第x个到最后一个数据。     3.计算均值,即closeprice['close'].iloc[-5:].mean(),赋值给MA5。同理MA20=closeprice['close'].mean(),即对所有值取平均,相当于MA20=closeprice['close'].iloc[:].mean()。#计算二十日均线价格 MA20 = closeprice['close'].mean()#计算五日均线价格 MA5 = closeprice['close'].iloc[-5:].mean()    C.判断5、20日均线,进行买卖交易:     1.if判断条件,即为 if MA5 > MA20:。温馨提示if判断函数的格式为if +添加判断+:,其中if后面必须带一个空格键,其次末尾必须带冒号。     2.当MA5小于MA20时,我们再对持仓市值判断,如果有持仓,那么持仓市值必然大于0,需要进行卖出交易,我们直接通过context账户对象中portfolio资产组合内stock_account股票账户下来获取持仓市值,即为:context.portfolio.stock_account.market_value。     3.下单买入交易:      i.当触发MA5大于MA20时,我们需要买入股票,这时候我们可以使用order_target_percent下单函数,该函数以目标市值占比下单。      ii.输入下单函数的参数,order_target_percent函数需要输入两个参数:       1.下单的股票,即为context.security,我们之前将交易标的传入进去,可以直接用。       2.下单的占比,即为1,取值范围[0,1],此时取1,表示全仓买入股票。      iii.触发条件后程序提醒,当代码执行完下单函数后,我们用log.info()来打印日志,这样我们也可以看到程序下单了。      温馨提示:log.info()内你可以直接输入中文,例如:log.info('条件满足!买入贵州茅台啦!')# 如果5日均线大于20日均线,则全仓买入股票if MA5 > MA20: # 按目标市值占比下单 order_target_percent(context.security, 1) # 记录这次买入 log.info("买入 %s" % (context.security))     4.下单卖出交易:      i.当触发MA5小于MA20时,我们需要卖出股票,这时候我们可以使用order_target下单函数,该函数以目标股数下单。      ii.输入下单函数的参数,order_target函数需要输入两个参数:       1.下单的股票,即为context.security,我们之前将交易标的传入进去,可以直接用。       2.下单的目标股数,即0,因为我们需要将持仓股票卖出,卖到0股为止。      iii.触发条件后程序提醒,当代码执行完下单函数后,我们同log.info()来打印日志,这样我们也可以看到程序下单了。# 如果5日均线小于20日均线,并且目前有头寸,则清仓股票elif MA20 > MA5 and context.portfolio.stock_account.market_value > 0: # 卖出所有股票,使这只股票的最终持有量为0 order_target(context.security, 0) # 记录这次卖出 log.info("卖出 %s" % (context.security))最终完整代码:def init(context): # 设置要操作的股票:贵州茅台 context.security = '600519.SH'# 设置买卖条件,每个交易频率(日/分钟/tick)调用一次def handle_bar(context, bar_dict): # 获取股票过去20天的收盘价数据 closeprice = history(context.security, ['close'], 20, '1d', False, 'pre', is_panel=1) # 计算20日均线 MA20 = closeprice['close'].mean() # 计算5日均线 MA5 = closeprice['close'].iloc[-5:].mean() # 如果5日均线大于20日均线,则全仓买入股票 if MA5 > MA20 : # 按目标市值占比下单 order_target_percent(context.security, 1) # 记录这次买入 log.info("买入 %s" % (context.security)) # 如果5日均线小于20日均线,并且目前有头寸,则清仓股票 elif MA20 > MA5 and context.portfolio.stock_account.market_value > 0: # 卖出所有股票,使这只股票的最终持有量为0 order_target(context.security, 0) # 记录这次卖出 log.info("卖出 %s" % (context.security))第五步 回测量化交易策略   通过以上4步,我们已经完成了量化交易策略编写,那么接下来我们需要进行量化交易策略回测。    A.首先,我们尝试去跑通整个历史行情,排查代码错误。     i.右上角设置回测历史长度,设置资金,设置交易频率。          ii.点击左上角“编译运行”按钮,右边出现量化交易策略在历史行情中的表现情况         B.当量化交易策略能跑通整个历史行情后,我们可以确定该代码正确无误,随后点击右上角蓝色按钮“进行回测”。页面跳转至回测页面,在回测详情界面,您可以查看策略收益曲线,风险指标,每日持仓,交易明细,输出日志等信息,如下:    C.学会将量化交易策略绑定实盘模拟交易,并实时收到交易策略的买卖信号     1.在回测显示结果页面,右上角点击蓝色按钮开启模拟交易,可以自行选择:从当前日开始模拟,在已有的回测基础上继续模拟.如下图:          2.至此,我们成功开启了模拟交易,可以查看您的模拟交易账户详细情况:交易明细、持仓、盈亏情况、账户风险指标等等。如下图:     3.您可以为您模拟交易账户新建模拟交易、暂停策略运行、发布策略至社区、重启策略、查看策略运行日志、查看策略代码。注意:重启按钮只会在策略运行错误后显示,如果策略运行正常,显示暂停按钮。新建模拟交易如下图:
浏览46712
评论42
收藏398
策略回测收益图

精华 长期有效,公开征集意见反馈。

用户头像量化官方小助理
2023-03-09 发布
请大家不要客气,任何意见建议可以在这里评论提出。 被采纳后我们将奖励1G研究环境内存 3个月。
浏览20484
评论163
收藏7