- 新增沪股通和深股通交易所枚举值
- 增加vnpy_tap对于Linux系统的支持
- 增加vnpy_rqdata对于新型主力合约数据支持(切换前一日收盘价比例复权)
- vnpy_ctastrategy/vnpy_ctabacktester加载策略类时,过滤TargetPosTemplate模板
- vnpy_ctp连接登录过程中,只有在授权码错误的情况下,才禁止再次发起认证
- vnpy_uft增加对广期所GFEX的支持
- vnpy_tqsdk增加对于output日志输出功能的支持
- vnpy_dolphindb允许指定用户自行配置具体的数据库实例
- vnpy_rqdata优化对于郑商所期货和期权合约的查询代码转换规则
- vnpy_rqdata增加对广期所GFEX的支持
- vnpy_portfoliostrategy增加回测爆仓检查
- vnpy_portfoliostrategy策略模板增加合约乘数查询函数get_size
- vnpy_portfoliostrategy回测加载日线和小时线数据时,不使用分段加载
- 修复vnpy_rpcservice中,RPC接口对于推送数据的vt前缀相关字段错误问题
- 修复vnpy_mini中,对于INE交易所今昨仓位的特殊处理
- 修复vnpy_datamanager中,批量数据更新时缺失output函数的问题
- 修复vnpy_spreadtrading中,回测加载数据时优先从数据服务获取历史数据的问题,改为优先从本地数据库加载
- 新增vnpy_ctp的Mac系统支持(M1/M2)
- BaseDatafeed的相关功能函数增加output入参用于输出日志
- 修改相关数据服务模块适配output参数:vnpy_rqdata/vnpy_ifind/vnpy_wind/vnpy_tushare
- 修改相关策略应用模块适配output参数:vnpy_ctastrategy/vnpy_ctabacktester/vnpy_portfoliostrategy/vnpy_spreadtrading/vnpy_datamanager
- OffsetConverter增加对于SHFE/INE合约的锁仓模式支持
- 在OmsEngine中添加全局的OffsetConverter功能,不再需要各AppEngine自行维护
- 添加CTA策略模块在执行参数优化时的最大进程数量限制参数:vnpy_ctastrategy/vnpy_ctabacktester
- 增加穷举优化算法运行过程中基于tqdm的进度条输出
- 增加遗传优化算法运行过程中的迭代次数进度输出
- 增加vnpy_optionmaster模块的期权产品对应标的合约的匹配函数,不再限制产品范围
- 升级vnpy_tts的dll链接库,解决openctp升级导致的资金不显示的问题
- 修改vnpy_ctastrategy使用vnpy.trader.database中统一定义的时区来加载数据
- 增加vnpy_ctastrategy策略模板的合约乘数查询函数get_size
- 增加vnpy_spreadtrading回测中统计绩效时对于爆仓情况的检查
- 增加vnpy_scripttrader基于vt_symbol和direction查询持仓数据的函数
- 修改vt_positionid的字符串内容,增加gateway_name前缀标识
- 修复异常捕捉钩子threading_excepthook的参数错误问题
- 修复vnpy_ib获取历史数据时的异常失败问题
- 修复vnpy_rest/vnpy_websocket中aiohttp的代理参数proxy传空时必须为None的问题
- 修复vnpy_optionmaster模块的Greeks监控表行数设置不足的问题
- 修复vnpy_rqdata查询股票期权数据报错的问题
- 修复vnpy_rqdata中RqdataGateway获取期货指数和连续合约信息时错误的问题
- 修复vnpy_portfoliostrategy中,从缓存文件恢复数据,导致defaultdict变成dict的问题
- 新增基于米筐RQData的跨市场行情数据接口RqdataGateway
- 新增东方财富证券EMT柜台交易接口vnpy_emt
- 调整vnpy_algotrading模块设计(模板、引擎),只支持单合约算法执行交易
- 优化vnpy_algotrading的算法状态控制,增加状态枚举值,算法支持暂停和恢复运行
- 升级vnpy_hft接口支持HFT国君统一交易网关的2.0版本API
- 优化vnpy_portfoliostrategy的策略模板,支持持仓目标调仓交易模式
- 修复后台线程异常捕捉钩子函数,对于Python 3.7的语法兼容性问题
- 修复vnpy_mysql加载历史数据时存在时段重复的问题
- 修复vnpy_ib由于TWS客户端升级导致的委托失败问题
- 修复vnpy_rest/vnpy_websocket对Python 3.10后asyncio的支持
- 修复vnpy_sopt由于流控导致的委托失败时,返回【提交中】状态委托的问题
- 新增杰宜斯资管系统交易接口vnpy_jees
- 开启vnpy.rpc的pyzmq连接keepalive机制,避免在复杂网络环境下闲置连接的断开
- 移除vnpy_rpcservice中服务端的EVENT_TIMER定时事件推送
- 调整vnpy_postgresql采用批量方式写入数据,提高效率
- 添加VeighNa Trader中的子线程异常捕捉(需要Python>=3.8)
- 调整vnpy_ib接口查询历史K线数据时,对外汇和贵金属均采用中间价(而非成交价)
- 增加vnpy_ctastrategy对于回测过程中资金爆仓(小于等于0)情况的检查
- 优化vnpy_webtrader模块的加密鉴权,支持web进程关闭重启
- 修复vnpy.rpc模块对于23.0以上版本pyzmq的NOBLOCK兼容性问题
- 修复vnpy_taos由于TDengine版本升级,出现d的一系列兼容问题
- 修复vnpy_datamanager刷新数据汇总信息显示时,老数据点移除失败的问题
- 新增数据库组件vnpy.trader.database中的TickOverview对象
- 新增掘金仿真环境交易接口vnpy_gm
- BaseData基础数据类型增加extra字段(字典类型),用于传送任意相关数据
- 使用Python内置的zoneinfo库替换三方的pytz库
- 调整相关交易接口、数据服务接口、数据库适配器、应用模块,使用新的ZoneInfo对象来标识时区信息
- 数据库适配器接口vnpy.trader.database写入数据时,新增流式写入参数stream,提高行情录制性能
- 添加广州期货交易所枚举值字段GFEX
- 新增CTP期权(ETF)穿透式测试接口vnpy_sopttest
- 新增Currency.CAD(加元)枚举值
- 新增Exchange.TSE(多伦多交易所)和Exchange.AMEX(美洲交易所)枚举值
- 新增vnpy_taos,涛思数据TDengine时序数据库适配器
- 新增vnpy_timescaledb,TimescaleDB时序数据库适配器
- 更新vnpy_ctp/vnpy_ctptest支持广州期货交易所
- 更新vnpy_tora的现货API接口到最新版本:API_Python3.7_交易_v4.0.3_20220222
- 更新vnpy_tora的期权API接口到最新版本:API_Python3.7_v1.3.2_20211201
- 更新vnpy_esunny/vnpy_tap添加关闭接口时对于API退出函数的调用
- 移除vnpy_ctastrategy/vnpy_ctabacktester/vnpy_optionmaster的反向合约支持
- 增加vnpy_ib对于沪股通、深股通、多伦多交易所、美洲交易所的支持
- 增加vnpy_ib对于指数行情数据的支持
- 添加vnpy_ctastrategy策略交易管理界面的策略实例查找功能
- 修复vnpy_mongodb中K线数据量统计的问题(使用新的count_documents函数)
- 修复由于PySide6对象销毁先于__del__调用,导致的BaseMonitor衍生组件无法自动保存界面状态的问题
- 新增恒生云UF2.0证券仿真环境交易接口vnpy_uf
- 新增火象投教仿真环境交易接口vnpy_hx
- 升级tzlocal库的版本到4.2,消除get_localzone()函数的warning
- 完善代码中函数和变量类型提示
- 使用QtCore.Signal代替老的QtCore.pyqtSignal
- 优化vnpy_rohon接口的委托成交相关细节功能
- 更新vnpy_xtp到2.2.32.2.0版本XTP API,支持上交所新债系统
- 优化vnpy_mongodb的数据写入速度,基于pymongo 4.0版本的批量写入功能
- 增加vnpy_ctp对于委托函数返回值为非0(请求发送失败)状态的处理
- 对vnpy_ctastrategy和vnpy_ctabacktester的策略模板下拉框中内容,改为基于首字母排序
- 修复vnpy_optionmaster模块希腊值监控组件的数据刷新问题
- 修复vnpy_mongodb由于时间戳的时区信息确实,导致的数据加载范围问题
- 修复vnpy_tts的sdist源代码打包缺失lib文件的问题
- 修复vnpy_rqdata由于查询返回数据为NaN导致的解析问题
- 移除api、gateway、app子模块的目录
- 移除requirements.txt对于插件的默认依赖
- 简化重构rpc子模块,定位于可靠环境下跨进程通讯(本机、局域网)
- 移除rpc子模块对于鉴权的支持
- 调整rpc子模块中的心跳机制的实现方式
- 移除基于QScintilla开发的代码编辑器,改用VSCode打开代码
- 优化MainWindow主窗口中,对于QAction按钮图标的加载逻辑
- MainEngine添加交易接口时,支持自定义接口名称
- 使用非原生窗口菜单栏,修复Linux/Mac下【配置】按钮不显示的问题
- 新增顶点HTS柜台交易接口vnpy_hts
- 移除恒生期权hsoption接口
- vnpy_webtrader增加对于自定义监听地址和端口的支持
- vnpy_mongodb锁定pymongo的依赖版本为3.12.3
- vnpy_udata安装脚本中添加hs_udata库的依赖
- vnpy_uft升级使用3.7.2.4版本的恒生API接口
- 将国泰君安证券统一接入网关交易接口剥离到vnpy_hft项目中
- 将顶点飞创交易接口剥离到vnpy_sec项目中
- 将RPC服务和接口剥离到vnpy_rpcservice项目中
- 修复vnpy_tora撤单时,由于撤单编号和委托编号冲突导致的撤单失败问题
- 修复vnpy_tora股票委托状态中【未成交】状态的错误映射问题
- 修复vnpy_ctabacktester中,回测开始日期编辑框的数据缓存问题
- 修复vnpy_udata中,分段下载数据时,可能进入死循环的问题
- 修复vnpy_udata中,修复下载的数据量为空时,出现的异常报错问题
- 修复vnpy_dolphindb中,合约名带有符号时数据无法读取问题
- 新增东证OST柜台交易接口vnpy_ost
- 增加投资组合策略模块的策略参数优化功能
- 修复部分C++接口模块剥离后,遗留的安装脚本编译代码导致的报错问题
- 修复vnpy_xtp订阅深交所行情后,可能出现的闪退问题
- 修复vnpy_tushare部分数据字段为None时,导致的数据错误
- 修复vnpy_mini,在夜盘换日时上期所行情时间戳的日期字段误差问题
- 修复vnpy_uft的ETF期权合约信息解析缺失的问题
- 修复vnpy_wind下载数据存在缺失时的N/A解析问题
- 修复vnpy_webtrader的html静态文件缺失的问题
- 修复vnpy_dolphindb存储Tick数据时的数据类型问题
- 修复vnpy_dolphindb读取数据为空时的BUG
- 修复vnpy_esunny查询黄金TD合约的合约乘数为0的问题
- 修复vnpy_ctastrategy策略初始化读取布尔值false失败的问题
- 修复vnpy_rohon的期权合约字段赋值错误的问题
- 修复vnpy_leveldb的Linux安装依赖库问题
- 移除老版本基于requests库的RestClient客户端
- 移除老版本基于websocket-client库的WebsocketClient客户端
- vnpy_tts增加对上交所和深交所股票模拟交易的支持
- 移除vnpy_ctp的期权询价指令支持
- 增加vnpy_ctp的授权码验证失败后,避免重复操作的功能
- 优化vnpy_uft的断线重连行情订阅逻辑
- 增加vnpy_arctic对于用户名和密码的鉴权功能
- 增加vnpy_mini对于股指期权的支持
- 将华鑫奇点交易接口剥离到vnpy_tora项目中,并升级到4.0版本
- 将飞马交易接口剥离到vnpy_femas项目中
- 将金仕达黄金接口剥离到vnpy_ksgold项目中
- 将投资组合策略模块剥离到vnpy_portfoliostrategy项目中
- 将Excel RTD模块剥离到vnpy_excelrtd项目中
- 将本地仿真模拟交易模块剥离到vnpy_paperaccount项目中
- 新增天软数据服务项目vnpy_tinysoft
- 新增同花顺iFinD数据服务项目vnpy_ifind
- 新增dYdx交易接口vnpy_dydx
- 新增万得Wind数据服务项目vnpy_wind
- 新增PortfolioStrategy专用的PortfolioBarGenerator
- 移除KasiaGateway
- 移除MarketRadarApp
- 算法交易模块中移除套利和网格两个非执行类算法
- vnpy_tushare数据服务,增加持仓量和成交额字段
- vnpy_datamanager数据管理器,查询的K线信息按合约代码排序显示
- vnpy_dolphindb优化数据的加载解析速度
- vnpy_influxdb采用pandas解析CSV数据,提高整体速度
- 修复vnpy_ctp的CtpGateway,在夜盘换日时上期所行情时间戳的日期字段误差问题
- 修复vnpy_arctic的数据重复写入时出现的错误覆盖问题
- 将InteractiveBrokers交易接口剥离到vnpy_ib项目中
- 将飞鼠交易接口剥离到vnpy_sgit项目中
- 将易盛外盘交易接口剥离到vnpy_tap项目中
- 将直达期货交易接口剥离到vnpy_da项目中
- 将算法交易模块剥离到vnpy_algotrading项目中
- 将脚本交易模块剥离到vnpy_scripttrader项目中
- 将交易组合管理模块剥离到vnpy_portfoliomanager项目中
- 增加双边报价业务的发送和撤销函数功能
- 增加双边报价监控UI组件
- 增加用于对接数据库的抽象接口vnpy.trader.database
- 新增基于Arctic的MongoDB数据库接口项目vnpy_arctic
- 新增LevelDB数据库接口项目vnpy_leveldb
- 新增DolphinDB数据库接口项目vnpy_dolphindb
- 增加用于对接数据服务的抽象接口vnpy.trader.datafeed
- 新增TuShare数据服务项目vnpy_tushare
- 新增恒生UData数据服务项目vnpy_udata
- 新增天勤TQSDK数据服务项目vnpy_tqsdk
- 新增CoinAPI数据服务项目vnpy_coinapi
- 移除批量委托和批量撤单相关的函数功能
- 移除老虎证券交易接口TigerGateway
- 移除鑫管家交易接口XgjGateway
- 移除AlgoTrading算法交易模块对于金纳算法服务的支持
- RestClient增加对操作系统代理配置的支持
- RestClient和WebsocketClient的默认异常处理逻辑由抛出异常修改为打印输出
- 价差交易模块移除对反向合约、线性价差、开平字段的支持
- 价差交易模块优化对灵活价差的支持,优化价差行情推送过滤判断
- 价差交易算法停止时,等待全部委托结束、各条腿平衡后,再结束算法
- 修复在Linux/Mac系统上,运行多进程优化时的进程启动错误
- 修复WebsocketClient由于心跳机制不完善,导致的频繁断线问题
- 将米筐数据接口剥离到vnpy_rqdata项目中,并升级到2.9.38版本
- 将行情录制模块剥离到vnpy_datarecorder项目中
- 将K线图表模块剥离到vnpy_chartwizard项目中
- 将SQLite数据库接口剥离到vnpy_sqlite项目中
- 将MySQL数据库接口剥离到vnpy_mysql项目中
- 将PostgreSQL数据库接口剥离到vnpy_postgresql项目中
- 将MongoDB数据库接口剥离到vnpy_mongodb项目中
- 将InfluxDB数据库接口剥离到vnpy_influxdb项目中
- 将期权波动率交易模块剥离到vnpy_optionmaster项目中
- 新增TTS交易系统(兼容CTP的仿真交易环境)的接口vnpy_tts(6.5.1)
- 新增易盛启明星/北斗星兼容交易API的接口vnpy_esunny(1.0.2.2)
- 新增BarData和TickData的成交额turnover字段
- 将SpreadTrading模块策略初始化时的K线价差数据加载,改为优先通过RQData查询数据
- 在MainWindow的AboutDialog中,基于importlib_metadata模块来获取版本信息
- 隐藏所有对话框右上角的【?】按钮
- 将易盛外盘TapGateway的合约信息,从行情接口获取改为交易接口获取(避免外盘合约size为0的问题)
- 改进VeighNa Trader的异常捕捉对话框弹出方式,避免多次重复报错情况下的程序卡死崩溃
- 修复Linux下安装时,对于已经剥离的XTP API的自动编译操作
- 修复PortfolioManager的UI组件,对于成交事件监听类型错误的BUG
- 修复vnpy_rest下的Response对象缺乏text字段导致的BUG
- 修复RestClient,代理端口信息传空时,导致底层连接出错的BUG
- 修复ArrayManager的Aroon指标计算输出结果顺序错误的BUG
- 修复数据库管理器读写TickData时,由于缺少对localtime字段处理导致的BUG
- 将融航接口剥离到vnpy_rohon项目中,并升级到6.5.1版本
- 将CTP MINI接口剥离到vnpy_mini项目中,并升级到1.5.6版本
- 将CTP期权接口剥离到vnpy_sopt项目中
- 将恒生UFT柜台极速API接口剥离到vnpy_uft项目中
- 新增TickData的本地时间戳字段local_time(不带时区信息)
- 新增基于asyncio和aiohttp实现的协程异步REST API客户端vnpy_rest项目
- 新增基于asyncio和aiohttp实现的协程异步Websocket API客户端vnpy_websocket项目
- 新增基于多进程模式的遗传算法优化功能
- 新增XTP的API封装中,行情登录函数对于本地网卡地址的参数支持
- 剥离CTA策略模块下的穷举和遗传优化算法到vnpy.trader.optimize模块下
- 遗传算法优化完成后,输出所有回测过的参数对应结果(而不只是最优结果)
- CTA策略引擎加载策略文件时,增加模块重载的操作,使得任何策略文件修改可以立即生效
- CTA策略引擎扫描特定目录下的策略文件时,使用glob函数(替换原有的os.walk),避免对子目录中文件的错误加载
- 将CTA策略模块剥离到vnpy_ctastrategy项目中
- 将CTA回测模块剥离到vnpy_ctabacktester项目中
- 将XTP接口剥离到vnpy_xtp项目中,并升级到2.2.27.4版本
- 将事前风控模块剥离到vnpy_riskmanager项目中
- 将数据管理模块剥离到vnpy_datamanager项目中
- 修复MySQL和PostgreSQL数据库管理器删除K线数据时出错的问题
- 修复基于aiohttp的RestClient和WebsocketClient,事件循环停止后重新启动失败的问题
- 修复CtaBacktester基于Tick级别数据进行参数优化时,启动优化失败的问题
- 修复ToraStockGateway和ToraOptionGateway,调用下单函数时没有返回委托号的问题
- 修复InfluxDB数据管理器,导入数据时时间字段解析错误的问题
- 修复IbGateway断线重连后,没有自动订阅之前已订阅的合约行情问题
- 修复CTA模块的净仓交易模式中,部分平仓部分开仓时,开仓部分下单错误的问题
- 修复CtpGateway对于FAK和FOK委托指令的处理错误问题
- 修复IbGateway,查询历史数据由于传参错误导致的查询失败问题
- 修复IbGateway,当要查询的合约历史数据不存在时卡死的问题
- 修复IbGateway,查询返回的合约乘数(字符串)未作转换导致的上层应用问题
- 修复BarGenerator,在合成小时K线时部分情况下遗漏分钟K线收盘价更新的问题
- 修复UftGateway,在连接ETF期权服务器时无法订阅行情的问题
- 修复UftGateway,在连接ETF期权服务器时,对于包含毫秒的委托时间戳处理错误的问题
- 修改CTA模块的净仓交易模式,支持上期所和能交所的今昨仓拆分下单
- 调整组合策略模块的回测引擎K线回放逻辑,当某个时间点K线数据缺失时,推送给策略的K线字典中不对其进行向前补齐
- 将CTP接口和API封装,剥离到vnpy_ctp项目中
- 将CTP穿透式测试接口和API封装,剥离到vnpy_ctptest项目中
- 新增DataManager在导入CSV文件时,对于时间戳时区的选择功能
- 新增CtaStrategy模块的策略移仓助手功能,实现一键式期货换月移仓支持
- 修复DataManager查询数据库中K线数据范围时,开始和结束日期相反的问题
- 修复PostgreSQL数据库对接层中,save_tick_data函数由于访问interval导致保存出错的问题
- 修复DataRecorder模块中add_bar_recording下保存录制用合约配置错误的问题
- 修复PostgreSQL数据库对接层中,由于事务执行失败导致的后续报错问题,创建数据库对象时设置自动回滚模式(autorollback=True)
- 修复DataManager自动更新数据时,查询数据范围由于调用老版本函数导致的错误
- 修复RQData下载获取的历史数据浮点数精度问题
- 修复BarGenerator在合成N小时K线时,收盘价、成交量、持仓量字段缺失的问题
- 修复K线图表底层组件ChartWidget当绘制数据较少时,坐标轴时间点显示重复的问题
- 修复SpreadTrading模块生成的价差盘口数据的时区信息缺失问题
- 修复IbGateway的现货贵金属行情数据缺失最新价和时间戳的问题
- 修复BarGenerator在合成小时级别K线时,成交量字段部分缺失的问题
- 修复vnpy.rpc模块启用非对称加密后无法正常退出的问题
- 修改vnpy.chart下ChartItem为按需绘制,大幅缩短图表第一次显示出来的耗时
- 修改IbGateway的历史数据查询功能,包括所有可用时间(即欧美晚上的电子交易时段)
- 修改DataRecorder的数据入库为定时批量写入,提高录制大量合约数据时的写入性能
- 新增IbGateway连接断开后的自动重连功能(每10秒检查)
- 新增双边报价业务相关的底层数据结构和功能函数
- 新增开平转换器OffsetConverter的净仓交易模式
- 新增CtaStrategy模块策略模板的委托时的净仓交易可选参数
- 新增CtaStrategy模块回测引擎中的全年交易日可选参数
- 新增ChartWizard模块对于价差行情图表的显示支持
- 新增MarketRadar模块的雷达信号条件提醒功能
- 修复RestClient中,因为pyopenssl.extract_from_urllib3引起的兼容性问题
- 调整OptionMaster模块中,期权链数据结构搜索平值行权价的算法,不再依赖标的物合约
- 新增OptionMaster模块使用合成期货作为定价标的合约的功能
- 修复BarGenerator的小时线合成时,出现同一个小时的K线重复推送两次的问题
- 修复遗传算法优化时,因为lru_cache缓存导致的新一轮优化结果不变的问题
- 修复RestClient发起请求时,由于requests库底层使用OpenSSL导致的WinError 10054 WSAECONNRESET的问题
- 修复程序中频繁捕捉到异常时,异常捕捉对话框反复执行导致卡死的问题
- 修复活动委托监控组件ActiveOrderMonitor,保存CSV时会将所有委托数据一起保存的问题
- 修复XtpGateway重复发起登录操作时,出现的系统崩溃问题
- 修复XtpGateway的股票市价委托类型映射错误问题
- 对XTP接口的行情价格数据基于合约最小价格跳动进行取整,资金保留2位小数
- BaseMonitor保存CSV文件时,表头改为图形界面显示的中文(之前是数据的字段名英文)
- 初始化TWAP算法时,对每轮委托数量取整到合约最小交易数量
- 将原vnpy.trader.database中的数据库客户端拆分到独立的vnpy.database模块下
- 对SQLite/MySQL/PostgreSQL/MongoDB/InfluxDB客户端进行代码重构优化,增加K线数据整体情况BarOverview查询功能
- 新增BaseMonitor数据监控UI组件(以及其子类),自动保存列宽的功能
- 增加华鑫奇点ToraGateway对于FENS服务器连接和资金账户登录的支持,之前只支持前置机连接和用户代码登录
- 增加InfluxDB数据库客户端vnpy.database.influx对于Tick数据储存和加载的支持