可转债日内自动T+0交易,行情推送+策略触发+交易接口

说明

  • 目前这个项目已编译打包,下载即可测试,直接生成多平台可执行文件,详见运行方法。
  • 行情部分与策略弱相关,拆分解耦单独作为一个项目。行情项目请移步GitHub - freevolunteer/hangqing: A股行情订阅工具,支持股票/可转债level2/level2数据,不限订阅数,主动推送,支持回放,支持记录行情到文件。
  • 这个项目只包含策略触发器和交易维护器。
  • 策略参数分享了一个比较稳妥的配置,详见data/trigger.json
  • 源码全都在,有兴趣可以自己改。项目只做分享,盈亏自负。好的策略思想可以交流,不包写代码:)
  • 很多参数都在代码里写好注释了,文档里就不一一介绍了。

策略原理

jvQuant平台之前用过该策略,单月收益还行,策略思想大概是模式二,交易频率还有提升空间,所以开发出了频率较高的模式一。

  • 债随股动,关注活跃的债和正股,在正股发生异动时买入转债,
  • 模式一(atSale不为0),买入成交后立即稍高价格挂出,利用下单速度优势,赚取差价。
  • 模式二(atSale为0),买入后经受债价一定波动,到达固定止盈止损点卖出,也可以通过其他渠道手动清仓,交易维护器会自动检测。
  • 两种模式支持多个策略配置,单个策略最大同时开仓数由holdCnt设定。
配置解释

[
  {
    //备注
    "comment": "低自盈,短持仓,低触发",
    //最大同时开仓数
    "holdCnt": 3,
    //单仓最大金额
    "amt": 2000,
    //单仓固定手数,如为0则按amt参数计算
    "vol": 0,
    //买单价格比卖一价高挂点数
    "bUpper": 0.02,
    //买单超时时间
    "bWait": 3,
    //买入后立即卖出,比成本价高挂点数;为0则不立即卖出,转为模式二
    "atSale": 0.3,
    //最长持仓时间,超时自动卖出。模式二需设长一点时间。
    "holdSec": 6,
    //自动止盈点数
    "high": 1,
    //自动止损点数
    "low": 0.4,
    //正股观察时间周期
    "sec": 10,
    //正股周期内涨幅阈值
    "raRate": 0.125,
    //正股周期内换手阈值
    "tnRate": 0.005,
    //正股周期内秒均成交额阈值
    "stockAmt": 20,
    //转债秒均成交额阈值
    "bondAmt": 2
  }
]

项目结构

  • 行情中心(hqCenter)
  • 策略触发器(bondTrigger)
  • T+0交易维护器(orderHolder)

模块结构

功能划分

  1. 行情中心(hqCenter)

行情中心实现了行情模块的独立,不受策略启停的影响,也负责数据落地和回放。数据原样透传,如何处理需由各策略决定。

  1. 策略触发器(bondTrigger)

策略模块只关注何时买,何时卖的决策。依赖行情SSE和交易执行器(维护器)。

  1. T+0交易维护器(orderHolder)

交易维护器负责交易委托的发送,以及委托状态的监视。委托状态发生变更时通知策略触发器。

细化的联动关系如图:

结构细化

运行方法

  1. 选出需关注的转债和正股,生成对应文件,详见pyscript:
hqCenter/data/initCodes.json  预订阅行情代码,应为选出转债和正股的集合
bondTrigger/data/select.json  转债对应的正股配置
bondTrigger/data/shares.json 正股流通股配置文件
bondTrigger/data/trigger.json 策略配置文件,手动编写,各字段含义请见源码注释
  1. 09:15启动hqCenter,开启本地行情服务器
  2. 09:20启动orderHolder,登录交易服务器
  3. 09:25启动bondTrigger,运行策略

运行命令示例写在了run.sh里,可以参考。

过程干预

  • 启停某策略,cid为策略在配置数组里的编号

http://127.0.0.1:31866/ctl?cid=0&op=on http://127.0.0.1:31866/ctl?cid=0&op=off

一些数据预准备工作

  • pyscript里的python脚本,做了些简单的封装。使用方法示例
获取正股流通股
python3 pyscript/getStockShares.py --token=jvquantToken --outFile=data/shares.json

筛选转债,获取转债-正股映射
python3 pyscript/bondSelect.py --token=jvquantToken  --outFile=data/select.json
  • 用到了jvquant的数据API,有其他数据的也行,按格式写入data目录里的文件即可。

###个人经验和注意事项

  • 遵循LGPL开源协议,仅用于学习和交流,尊重作者版权,不得开发二次商用!!!
  • 有PTrade或其他量化平台权限的,可以魔改移植,须开源。
  • 盈亏自负,建议小仓位试错调优参数,调优前勿猛上仓位!!

From:GitHub - freevolunteer/bondTrader: 搞点A股量化交易...可转债日内自动T+0交易,行情订阅+策略触发+交易托管,三合一项目。仅供学习交流使用。搞点A股量化交易...可转债日内自动T+0交易,行情订阅+策略触发+交易托管,三合一项目。仅供学习交流使用。 - freevolunteer/bondTradericon-default.png?t=N7T8https://github.com/freevolunteer/bondTrader

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/639533.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL主从复制(三):主从延迟

主备流程图: 谈到主备的复制能力,要关注的是上图中的两个黑色箭头。 一个箭头代表了客户端写入主库,另一个箭头代表的是sql_thread执行中转日志(relay log)。如果用箭头的粗细来代表并行度的话,那么真实情…

svg中path的直线命令使用

path路径 <path>元素是SVG基本形状中最强大的一个。可以使用它来创建线条&#xff0c;曲线&#xff0c;弧形等等。 另外&#xff0c;path只需要设定很少的点&#xff0c;就可以创建平滑流畅的线条&#xff08;比如曲线&#xff09;。虽然polygon元素也可以实现类似的效…

UPPAAL使用方法

UPPAAL使用方法 由于刚开始学习时间自动机及其使用方法&#xff0c;对UPPAAL使用不太熟悉&#xff0c;网上能找到的教程很少&#xff0c;摸索了很久终于成功实现一个小例子&#xff0c;所以记录一下详细教程。 这里用到的例子参考【UPPAAL学习笔记】1&#xff1a;基本使用示例…

linux-配置服务器之间 ssh免密登录

前言 在管理多台Linux服务器时,为了方便操作和自动化任务,实现服务器之间的SSH免密登录是非常有必要的。SSH免密登录可以避免每次远程连接时输入密码,大大提高效率。本文将详细介绍SSH免密登录的原理和实现步骤。 一、原理解释 SSH免密登录的实现依赖于SSH密钥对,主要是利用…

2.行为参数的演变过程

2.行为参数的演变过程 ​ 行为参数化是软件开发模式&#xff0c;可以处理频繁变更的需求。它让你把一个代码块准备好但不执行&#xff0c;以后可以被其他部分调用&#xff0c;也可以作为参数传递给另一个方法&#xff0c;推迟执行。这样&#xff0c;方法的行为就基于参数化的代…

O2OA(翱途)开发平台数据统计如何配置?

O2OA提供的数据管理中心&#xff0c;可以让用户通过配置的形式完成对数据的汇总&#xff0c;统计和数据分组展现&#xff0c;查询和搜索数据形成列表数据展现。也支持用户配置独立的数据表来适应特殊的业务的数据存储需求。本文主要介绍如何在O2OA中开发和配置统计。 一、先决…

03-ArcGIS For JavaScript结合ThreeJS功能

ArcGIS For JavaScript结合ThreeJS功能 概述three.js中功能实现externalRenderers&#xff08;4.28及以下版本&#xff09;RenderNode&#xff08;4.29版本&#xff09; 概述 ArcGIS For Javacript提供了一些对象可以支持加载webgl上下文信息&#xff0c;这里包括webgl编程的代…

汽车IVI中控开发入门及进阶(二十):显示技术之LCDC

TFT LCD=Thin Film Transistor Liquid Crystal Display LCDC=LCD Controller 薄膜晶体管液晶显示器(TFT LCD)控制器在驱动现代显示技术的功能和性能方面起着关键作用。它们充当屏幕后面的大脑,仔细处理数字信号,并将其转化为精确的命令,决定每个像素的行为,决定它们的…

Linux中gcc/g++的基本使用

目录 gcc/g的使用gcc/g是如何生成可执行文件的预处理编译汇编链接 库.o文件是如何与库链接的&#xff1f; debug版本和release版本 gcc/g的使用 在windows中&#xff0c;我们在VS中编写好了代码之后就可以直接在VS中对源码进行编译等操作后运行 而在Linux下&#xff0c;我们可…

【区域脑图论文笔记】BrainNetCNN:第一个专门为脑网络连接体数据设计的深度学习框架

【区域脑图论文笔记】BrainNetCNN&#xff1a;第一个专门为脑网络连接体数据设计的深度学习框架 信息概览与提炼采用的数据与结果数据集结果概览一眼 重点图与方法概览核心与优劣总结模型与实验论文方法E2E的理解E2N的理解N2G的理解三个卷积层设计的理解 论文实验与讨论 总结与…

差分约束题解

目录 注意点&#xff1a; 思路&#xff1a; SPFA和Dij的不同点&#xff1a; Dij: SPFA: AC代码&#xff1a; 扩展&#xff1a; 题目链接&#xff1a;【模板】差分约束 - 洛谷 注意点&#xff1a; 注意这一题不能用Dij&#xff0c;只能用SPFA 因为这样子才可以得出这个不…

【源码】AVATRADE多语言交易所/15国语言交易所/合约交易/期权交易/币币交易/申购/矿机/风控/前端wap/pc纯源码/带搭建教程

推荐AVATRADE多语言交易所/15国语言交易所/合约交易/期权交易/币币交易/申购/矿机/风控/前端wap/pc纯源码/带搭建教程 语言&#xff1a;15种语言 前端pcwap都是纯源码的 workerman启动有点问题&#xff0c;采集是正常的&#xff0c;wss不能推送。时好时坏&#xff0c;有时候…

树莓派开发需要安装哪些常用库

树莓派是一系列小型、低成本、高性能的单板计算机&#xff08;SBC&#xff09;&#xff0c;旨在促进编程、计算机科学和DIY电子项目。 从英国慈善机构树莓派基金会于 2012 年推出第一代树莓派开始&#xff0c;树莓派被广泛应用于各种项目&#xff0c;包括&#xff1a; 学习和教…

unreal engine 5.0.3 创建游戏项目

根据虚幻官网介绍&#xff0c;虚幻引擎5可免费用于创建线性内容、定制项目和内部项目。你可以免费用它开发游戏&#xff0c;只有当你的产品营收超过100万美元时&#xff0c;才收取5%的分成费用。所以目前国内也有许多游戏厂商在使用UE制作游戏。UE5源码也已开源&#xff0c;有U…

JavaScript表达式和运算符

表达式 表达式一般由常量、变量、运算符、子表达式构成。最简单的表达式可以是一个简单的值。常量或变量。例&#xff1a;var a10 运算符 运算符一般用符号来表示&#xff0c;也有些使用关键字表示。运算符由3中类型 1.一元运算符&#xff1a;一个运算符能够结合一个操作数&…

RFID技术在空调生产流程自动化中的前沿探索

RFID技术在空调生产流程自动化中的前沿探索 应用背景 目前经济环境下&#xff0c;由卖方市场转向买方市场&#xff0c;意味着小批量、多频率、个性化的生产模式日益成为制造业企业面临的一大难题&#xff0c;随着个性化需求的不断增长&#xff0c;大部分空调厂商都选择小批量…

云上聚智——移动云云服务器进行后端的搭建及部署

什么是移动云 移动云是指将移动设备和云计算技术相结合&#xff0c;为移动应用提供强大的计算和存储能力的服务模式。传统的移动应用通常在本地设备上进行计算和存储&#xff0c;而移动云将这些任务转移到云端进行处理。通过移动云&#xff0c;移动设备可以利用云端的高性能计算…

Go团队:Go是什么

2024年的Google I/O大会[1]如期而至。 这届大会的核心主旨毫无疑问是坚定不移的以AI为中心&#xff1a;Google先是发布了上下文长度将达到惊人的200万token的Gemini 1.5 Pro[2]&#xff0c;然后面对OpenAI GPT-4o的挑衅&#xff0c;谷歌在大会上直接甩出大杀器Project Astra[3]…

【加密与解密(第四版)】第十九章笔记

第十九章 外壳编写基础 这章主要是完成一个壳&#xff0c;之前这章看的次数比较多&#xff0c;这里仅仅记录一下关键点 19.1 外壳的结构 19.2 加壳主程序 流程&#xff1a;判断文件是否为PE格式、文件基本数据读入、附加数据的读取、输入表的处理、重定位表的处理、文件的压缩…

【嵌入式软件工程师面经】Socket,TCP,HTTP之间的区别

目录&#xff1a; 目录 目录&#xff1a; 一、Socket原理与TCP/IP协议 1.1 Socket概念&#xff1a; 1.2 建立Socket连接&#xff1a; 1.3 SOCKET连接与TCP/IP连接 二、HTTP连接&#xff1a; 2.1 HTTP原理 三、三者的区别和联系 前些天发现了一个巨牛的人工智能学习网站&#xf…