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

news2025/3/15 17:16:33

说明

  • 目前这个项目已编译打包,下载即可测试,直接生成多平台可执行文件,详见运行方法。
  • 行情部分与策略弱相关,拆分解耦单独作为一个项目。行情项目请移步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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Golang实现递归复制文件夹

代码 package zdpgo_fileimport ("errors""os""path/filepath""strings" )// CopyDir 复制文件夹 // param srcPath 源文件夹 // param desPath 目标文件夹 // return error 错误信息 func CopyDir(srcPath, desPath string) error {…

机器学习第十次课

前言 因为考了一次试,所以没讲太多新东西,唯一的问题是有的知识刚讲完就考了,导致我爆了...... 正文 主要讲的就是一个贝叶斯分类模型,这是属于生成式的分类器了 Bayesian decision theory 我的理解是贝叶斯公式则是利用条件概率和全概率公式计算后验概率,就这么简单 但是…

智慧农业可视化大屏,当个农民是不是小伙伴的梦想。

智慧农业可视化大屏是指通过数据可视化技术,将农业生产过程中的各种数据、指标和信息以图表、图像等形式展示在大屏上,以便农业从业者能够直观地了解农田、作物、气象、设备等方面的情况,从而进行农业生产的监控、管理和决策。以下是智慧农业…

怎么快速批量导出文本二维码?文件批量生码的方法和步骤

随着互联网的快速发展,二维码的应用也越来越广泛,现在很多二维码会用来展示物品信息,将编辑好的文字内容生成二维码之后,让其他人通过扫码的方式来获取相关内容。那么当有多条信息时,有什么方法能够一次批量生成二维码…

PHP质量工具系列之php_CodeSniffer

PHP_CodeSniffer 是一组两个 PHP 脚本:主脚本 phpcs 对 PHP、JavaScript 和 CSS 文件进行标记,以检测是否违反定义的编码标准;第二个脚本 phpcbf 自动纠正违反编码标准的行为。PHP_CodeSniffer 是一个重要的开发工具,可以确保你的…

04Django项目基本运行逻辑及模板资源套用

对应视频链接点击直达 Django项目用户管理及模板资源 对应视频链接点击直达1.基本运行逻辑Django的基本运行路线:视图views.py中的 纯操作、数据返回、页面渲染 2.模版套用1.寻找一个好的模版2.模板部署--修改适配联动 OVER,不会有人不会吧不会的加Q1394…

AI大模型到底能帮我干什么?

这周百度文心一言大模型正式发布了,不少网民拿着各种段子搞笑和玩梗。我在的其中某个微信群里,一位老兄针对当下的大模型,发出来如下的问题: 大家这么玩梗真没意思 我一直没弄明白这些大模型怎么帮助我工作 这个问题有一定的代表性…

关于sklearn决策树手动指定节点进行剪枝调整的实现

一、决策树剪枝 决策树的剪枝方式有两种,预剪枝和后剪枝,后剪枝在python的sklearn方法中提供了CCP代价复杂度剪枝法(Cost Complexity Pruning)具体实现代码如下: # -*- coding: utf-8 -*- from sklearn.datasets imp…

Java入门基础学习笔记44——String

为什么要学习String的处理呢? 开发中,对字符串的处理是非常常见的。 String是什么?可以做什么? java.lang.String 代表字符串。可以用来创建对象封装字符串数据,并对其进行处理。 1、创建对象 2、封装字符串数据 3…

超过GPT4.0?Claude3官网及国内镜像站,国内使用克劳德3的方法

近期又有一个大模型横空出世,这就是由Anthropic公司推出的Claude 3(克劳德3),在多项基准测试中得分超越了GPT-4,那么他到底是什么情况呐?其实大家在国内也是可以使用上的! 克劳德Claude3 关于…

Python 闭包的高级用法详解

所谓闭包,就是指内函数使用了外函数的局部变量,并且外函数把内函数返回出来的过程,这个内函数称之为闭包函数。可以理解为是函数式编程中的封装。 内部函数可以使用外部函数定义的属性:外部函数调用后,返回内部函数的地…

Java入门基础学习笔记36——面向对象基础

面向对象编程快速入门: 计算机是用来处理数据的。 单个变量 数组变量 对象数据 Student类: package cn.ensource.object;public class Student {String name;double chinese_score;double math_score;public void printTotalScore() {System.out.pr…

AUTOMATIC1111/stable-diffusion-webui/stable-diffusion-webui-v1.9.3

配置环境介绍 目前平台集成了 Stable Diffusion WebUI 的官方镜像,该镜像中整合如下资源: GpuMall智算云 | 省钱、好用、弹性。租GPU就上GpuMall,面向AI开发者的GPU云平台 Stable Diffusion WebUI版本:v1.9.3 Python版本:3.10.…

HCIE是什么证书?为什么要考?

每当我发一些关于HCIE的话题时,总有小伙伴过来问“啥是HCIE啊?”今天就一起来了解下,到底什么是HCIE?为什么这么多人都要考HCIE? HCIE是华为认证ICT专家的缩写,它是华为认证体系中最高级别的ICT技术认证。HCIE全称为H…

windows 设置系统字体 (win11 win10)

由于微软的字体是有版权的,所以我打算替换掉 1.下载替换工具 github的项目,看起来很多人对微软默认字体带版权深恶痛绝。 项目地址:nomeiryoUi地址 这里选取最新的版本即可 2.打开软件 这里显示标题栏不能改,确认,其…

使用Systemd 设置Python程序开机启动

在 Linux 系统中设置Python 脚本开机启动,通常可以通过以下几种方式实现: 1. 使用 systemd(推荐方式) systemd 是大多数现代 Linux 发行版使用的初始化系统和服务管理器。你可以为Python 脚本创建一个 systemd 服务文件&#xf…

鸿蒙ArkUI-X平台差异化:【运行态差异化(@ohos.deviceInfo)】

平台差异化 简介 跨平台使用场景是一套ArkTS代码运行在多个终端设备上,如Android、iOS、OpenHarmony(含基于OpenHarmony发行的商业版,如HarmonyOS Next)。当不同平台业务逻辑不同,或使用了不支持跨平台的API&#xf…

Android开发-Android开发中的TCP与UDP通信策略的实现

Android 开发中的 TCP 与 UDP 通信策略的实现 1. 前言2. 准备工作3. Kotlin 中 TCP 通信实现客户端代码示例:服务器代码示例: 4. Kotlin 中 UDP 通信实现客户端代码示例:服务器代码示例: 5. TCP 与 UDP 应用场景分析TCP 实现可靠传…

词条唤夜兽唤夜兽的养殖与护理 幻兽帕鲁 唤夜兽怎么获取 唤夜兽去哪里抓 crossover玩Steam游戏

唤夜兽在地图上没有出现,是唤冬兽和雷冥鸟共同培育出来的帕鲁。 ------------------------- 介绍: 帕洛斯群岛之守护神,拥呼唤黑夜之力。 其会于灾厄席捲大地之际腾空而起,唤来无尽暗夜,试图封印灾厄。 ---------…

Video-FocalNets: Spatio-Temporal Focal Modulation for Video Action Recognition

标题:Video-FocalNets:用于视频动作识别的时空聚焦调制 源文链接:Wasim_Video-FocalNets_Spatio-Temporal_Focal_Modulation_for_Video_Action_Recognition_ICCV_2023_paper.pdf (thecvf.com)https://openaccess.thecvf.com/content/ICCV202…