量化交易:Miniqmt获取可转债数据和交易python代码

哈喽,大家好,我是木头左!

低风险资产除了国债外,还有可转债,兼容有高收益的股性和低风险的债性,号称"下有保底,上不封顶"。

🔍 可转债:金融市场的双面娇娃

可转债,全称可转换债券,是一种可以在特定条件下转换为发行公司股票的债券。它既有债券的稳定收益特性,又有股票的增长潜力,是投资者进行资产配置的重要选择。

🎯 可转债的优势

  • 收益与风险的平衡:既有固定收益,又有转股后的增值潜力。
  • 市场适应性强:在不同的市场环境下,可转债都能展现出其独特的价值。
  • 流动性好:可转债通常在交易所上市,流动性较高。

🛠️ miniQMT:量化交易的瑞士军刀

miniQMT可以不依赖QMT客户端,可以在vscode中直接运行,它提供了丰富的数据接口和交易策略模板,使得用户可以轻松地构建和测试自己的量化交易策略。

前面已经安装好QMT,参考QMT量化入门 ,在安装目录下有userdata_mini,这就是我们后面要用的Miniqmt的安装目录。

直接下载的可以用,最好是使用最新版本的,可从官网下载:https://dict.thinktrader.net/nativeApi/download_xtquant.html?id=7zqjlm

直接覆盖即可,不可以通过pip install的方式安装。

💻 Python代码

下面,我将展示如何使用Python和miniQMT来获取可转债数据。

🔬 获取可转债数据

获取行情主要是通过xtdata实现。

python 复制代码
xtdata.download_history_data2(stock_list,period="1d",start_time="20240224")  #批量下载
kline_data=xtdata.get_market_data(field_list=['time','open','high','low','close','volume','amount'],
print(res)

📊 连接客户端

如果要交易,本来还是要启miniQMT客户端,并配置资金帐户和安装目录。

否则会报错:

python 复制代码
# coding:gbk
# @author      : 木头左
# @date        : 2024/06/03 22:18:26
# @description : 
from xtquant import xtdata
import random

from xtquant.xttype import StockAccount
from xtquant.xttrader import XtQuantTrader
from xtquant import xtconstant

# miniQMT安装路径
mini_qmt_path = r'E:\programData\qmt\userdata_mini'
# QMT账号
account = 'xx'
# 创建session_id
session_id = int(random.randint(100000, 999999))
# 创建交易对象
xt_trader = XtQuantTrader(mini_qmt_path, session_id)
# 启动交易对象
xt_trader.start()
# 连接客户端
connect_result = xt_trader.connect()

🚀 执行交易

最后,我们将委托提交客户端。

python 复制代码
if connect_result == 0:
    print('连接成功')
# 创建账号对象
acc = StockAccount(account)
# 订阅账号
xt_trader.subscribe(acc)
# 下单
res = xt_trader.order_stock(acc, stock_code=stock_code, order_type=xtconstant.STOCK_BUY, order_volume=100, price_type=xtconstant.FIX_PRICE, price=7.44)
print(res)

希望这篇文章能够激发你对量化交易的兴趣。记得点赞、分享和关注哦!👍🔄👀

相关推荐
丕羽2 小时前
【Pytorch】基本语法
人工智能·pytorch·python
bryant_meng2 小时前
【python】Distribution
开发语言·python·分布函数·常用分布
m0_594526303 小时前
Python批量合并多个PDF
java·python·pdf
工业互联网专业4 小时前
Python毕业设计选题:基于Hadoop的租房数据分析系统的设计与实现
vue.js·hadoop·python·flask·毕业设计·源码·课程设计
钱钱钱端4 小时前
【压力测试】如何确定系统最大并发用户数?
自动化测试·软件测试·python·职场和发展·压力测试·postman
慕卿扬4 小时前
基于python的机器学习(二)—— 使用Scikit-learn库
笔记·python·学习·机器学习·scikit-learn
Json____4 小时前
python的安装环境Miniconda(Conda 命令管理依赖配置)
开发语言·python·conda·miniconda
小袁在上班4 小时前
Python 单元测试中的 Mocking 与 Stubbing:提高测试效率的关键技术
python·单元测试·log4j
白狐欧莱雅4 小时前
使用python中的pygame简单实现飞机大战游戏
经验分享·python·游戏·pygame
阿_旭4 小时前
基于YOLO11/v10/v8/v5深度学习的维修工具检测识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·qt·ai