摘要:源码注释: 1. 通过tick 生成1分钟bar 【显然,这在分钟级回测时用不到】 2. 将1分钟的bar转换成 N分钟的bar class BarGenerator: """ For: 1. generating 1 minute bar data from tick data 2. genera
阅读全文
摘要:ctp可能在非交易时间,推送一些垃圾tick,vnpy 使用 on_tick 函数会接收这些tick, 然后调用BarGenerate ,合成错误的Bar. 可以在这里增加时间检查,如果不是交易时间的数据,不去生成Bar就好。
阅读全文
摘要:vnpy 系统为了方便,使用了大量的默认参数,这些参数方便了简单策略的编写,但如果没有注意,很可能形成一些莫名其妙的错误,而在交易时,需要对系统的每个环节都完全掌控。 整个框架,几乎都默认使用1分钟线,如果策略不是使用1分钟线,就要小心了。在编写策略,尤其是优化时,使用分钟线会大大影响策略运行速度,
阅读全文
摘要:调试策略。 在vnpy 默认环境下调试策略,很不灵活,自己搞一个简单的测试环境,可以随心所欲地调式。 调试时,调试过程需要写入到日志里。 下面演示这个过程: from datetime import datetime from vnpy_ctastrategy.backtesting import
阅读全文
摘要:通过上面的准备,运行一个策略,显示交易信号。 from vnpy_ctabacktester import CtaBacktesterApp from vnpy_ctabacktester.ui.widget import CandleChartDialog from vnpy_ctastrateg
阅读全文
摘要:vnpy 里的cta策略,需要继承模板策略, 必须含有几个要素:(以 AtrRsiStrategy为例) 继承自 (CtaTemplate) 重要的元素: parameters = [... ] variables = [... ] 其中, 1 实盘策略启动时,需要的变量。 他会保存在本地策略配置文
阅读全文
摘要:我们重点研究的是Ctp, 那么,把ctp单独拿出来,跑一次。 主体框架有参数管理、图形处理等大量繁杂的系统工作,这里没有用主体框架,需要预先设置参数。 import multiprocessing import sys from time import sleep from datetime imp
阅读全文
摘要:现在,运行一个完整的vnpy 框架,从应用,到窗体以及各个app, 我们尝试连接 ctp 运行环境,在simnow上注册有用户,服务信息里可以查到连接信息。 启动下面文件后,在.vntrader 目录下, 会生成一个connect_ctp.json, 保存已经设置的连接信息。 from vnpy.e
阅读全文
摘要:vnpy 提供了一个比较实用的绘图,可以动态绘制出K线图。 根据这个工具,可以将策略的信号以及指标绘制出来。 from datetime import datetime from vnpy.trader.ui import create_qapp, QtCore from vnpy.trader.c
阅读全文
摘要:做数据分析,首先是要有数据,这里是用tqsdk的数据。 代码用源码里的范例,修改了数据源。 # 忽略各模块的警告信息 import warnings warnings.filterwarnings("ignore") from datetime import datetime from vnpy.t
阅读全文
摘要:from datetime import datetime from vnpy_ctastrategy.backtesting import BacktestingEngine from vnpy_ctastrategy.strategies.atr_rsi_strategy import AtrR
阅读全文
摘要:def test_kwarges(out : bool = False, **kwargs): a = kwargs.get("a", "test-a") x = kwargs.get("x", "test-x") print(a, x) print(out) kwargs = {"a":1, "b
阅读全文
摘要:python 是根据path路径优先级找执行文件的。 pip 是在scripts 下的, 设置 path 优先级时,两个路径最好一起设置 VScode 的prompt 下执行的python 和编辑环境有可能不一致。 执行: python -m pip install xxx 能保证pip 安装的内容
阅读全文
摘要:前一根k线出信号( send_order) ,后一根K线开始前计算是否能成交。 用当根K线的开盘价计算,并期望发单会造成实盘与回测不符的现象。 今天对比交易信号时,才发现这个规则,记录一下。
阅读全文
摘要:添加一个指标类: from vnpy.trader.ui import QtCore, QtGui from vnpy.trader.object import BarData from vnpy.chart.base import BLACK_COLOR, UP_COLOR, DOWN_COLOR
阅读全文
摘要:这两个代码很容易搞混: BacktestingEngine 在 vnpy_ctastrategy.backtesting, 没有继承 负责: 运行策略 调用Bar,Tick 处理交易(包括停止单) 显示表格 BacktesterEngine 在 vnpy_ctabacktester.engine里,
阅读全文
摘要:现象: /sys/firmware/dmi/tables/smbios_entry_point: Permission denied/dev/mem: Permission denied/sys/firmware/dmi/tables/smbios_entry_point: Permission d
阅读全文