量化交易: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)

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

相关推荐
橡晟7 小时前
深度学习入门:让神经网络变得“深不可测“⚡(二)
人工智能·python·深度学习·机器学习·计算机视觉
墨尘游子7 小时前
神经网络的层与块
人工智能·python·深度学习·机器学习
倔强青铜38 小时前
苦练Python第18天:Python异常处理锦囊
开发语言·python
企鹅与蟒蛇8 小时前
Ubuntu-25.04 Wayland桌面环境安装Anaconda3之后无法启动anaconda-navigator问题解决
linux·运维·python·ubuntu·anaconda
autobaba8 小时前
编写bat文件自动打开chrome浏览器,并通过selenium抓取浏览器操作chrome
chrome·python·selenium·rpa
Rvelamen10 小时前
LLM-SECURITY-PROMPTS大模型提示词攻击测评基准
人工智能·python·安全
【本人】10 小时前
Django基础(一)———创建与启动
后端·python·django
SHIPKING39311 小时前
【python】基于pygame实现动态粒子爱心
开发语言·python·pygame
kk_stoper12 小时前
如何通过API查询实时能源期货价格
java·开发语言·javascript·数据结构·python·能源
java1234_小锋12 小时前
【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 架构搭建
python·自然语言处理·flask