量化投资分析平台 迅投 QMT(四)获取标的期权的代码

量化投资分析平台 迅投 QMT

  • [迅投 QMT](https://www.xuntou.net/?user_code=7NYs7O)
    • 我目前在使用
    • 有了底层标的如何获取期权的交易代码呢?
    • 上代码
        • 历史帖子

迅投 QMT

我目前在使用

两个月前(2024年4月)迅投和CQF有一个互动的活动,进行了平台的一个网上路演,刚好我也去听了,感觉还是挺不错的。后来与“客服麻瓜”进行了对QMT的深入了解和使用,最后决定买了他们的服务。注册就可以进行试用,但是是有期限的。如果只是单方面的研究的话,还是建议用稍微便宜些的平台,我主要是需要期权的实时数据进行分析和交易。

有了底层标的如何获取期权的交易代码呢?

我们知道期权交易是有时效性的,目前A股开放的可交易期权都是欧式期权,也就是说只有到了交割日才能行权。这样对于我们交易者来讲还是比较友好的,计算起来更方便些。目前A股的期权的时效是当月、隔月、季度、半年,四个周期。按照今天2024年6月5日来看,沪深300ETF的期权的交割月是6月、7月、9月、和12月。如果到了7月,就是7月、8月、10月、和次年1月。说实话,的确挺烦人的,烧脑的逻辑。那我今天呢就给大家展示一下我实现的方式。

上代码

  1. 首先我们先把日期锁定为本月到次年上月,按照2024年6月距离,就是到2025年的5月;然后按照月份进行获取期权数据;最终把底层标的的期权交易代码全部获取出来。
def obtain_annual_opt_tickers(ticker_: str):current_month = str(dt.now().strftime('%Y%m%d'))   # 当月one_year_later = dt.now() + relativedelta(years=1)   # 次年上月计算one_year_later = str(one_year_later.strftime('%Y%m%d'))   # 次年上月转string格式#通过pandas的date_range()函数获取未来12个月所有的日期,频率为"M"month月份dates = pd.date_range(start=current_month, end=one_year_later, freq='M')# Convert the dates to the required format (YYYYMM)expiration_months = [date.strftime('%Y%m') for date in dates]   # 将获取到的12个月打包列表并设置格式为yyyymmoption_tickers = []for month in expiration_months:option_tickers.append(xtdata.get_option_list(ticker_, month, isavailavle=True)   # 这里ticker_参数为标的资产,举例'510050.SH')# Flatten the list 因为这里我们会收到套娃的列表,需要处理,扁平处理flattened_option_tickers = [item for sublist in option_tickers for item in sublist]return flattened_option_tickersobtain_annual_opt_tickers('510050.SH')[-5:]'>>> ['10007156.SHO', '10007229.SHO', '10007230.SHO', '10007245.SHO', '10007246.SHO']'
'>>> 这样我们就获取到目前底层标的资产所有的期权交易代码的ticker了'
  1. 拿到所有期权交易代码ticker后我们来进行遍历,把所有的标的资产期权信息做成一个dataframe,为后续做准备。
@cache
def option_details(ticker_: str):flat_opt_tickers_list = obtain_annual_opt_tickers(ticker_)df_opt_details_ = pd.DataFrame()for tick_ in flat_opt_tickers_list:xtdata.download_history_data(tick_, period='1d')opt_detail_ = pd.DataFrame([xtdata.get_option_detail_data(tick_)])df_opt_details_ = pd.concat([df_opt_details_, opt_detail_], axis=0)   # 纵向拼接time.sleep(1/25)df_opt_details_ = df_opt_details_.reset_index(drop=True)   # 重置引索,避免后面出问题# add exchange ID to the instrument ID for latter usenew_instID = df_opt_details_['InstrumentID'] + '.' + df_opt_details_.ExchangeID.unique()[0]df_opt_details_['InstrumentID'] = new_instID   # 重新定义'InstrumentID'# retain only useful columnsdf_opt_details_ = df_opt_details_[['InstrumentID', 'InstrumentName', 'OpenDate', 'CreateDate', 'ExpireDate', 'PreClose', 'UpStopPrice', 'DownStopPrice', 'LongMarginRatio', 'ShortMarginRatio', 'VolumeMultiple', 'MaxMarketOrderVolume', 'MinMarketOrderVolume', 'MaxLimitOrderVolume', 'MinLimitOrderVolume', 'OptUnit', 'MarginUnit', 'OptExercisePrice', 'OptUndlRiskFreeRate', 'OptUndlHistoryRate', 'optType']].reset_index(drop=True)# construct a new column for days to expiry for volatility use# 重新定义交割日格式,为了计算剩余交割天数使用df_opt_details_['ExpireDate'] = pd.to_datetime(df_opt_details_['ExpireDate'], format='%Y%m%d')# 增加新列,到期交割日天数,后面会使用到,很重要的数据,BSM模型也会用到df_opt_details_['days_to_expiry'] = (df_opt_details_['ExpireDate'] - dt.now()).dt.daysreturn df_opt_details_option_details('510050.SH')
'>>> 我就不截完整图了,太大了,意思一下,大家知道是什么就好。'

期权信息截图
这样我们就获取到所有的底层标的期权的交易代码和期权完整信息了。

下一贴我来跟大家讲一讲我对期权的理解,普及一些期权这类衍生品的相关知识。

希望大家能够给予一键三连啥的,您的鼓励就是我最大的动力!

历史帖子

量化投资分析平台 迅投 QMT(一)激活python迅投对接端口
量化投资分析平台 迅投 QMT(二)服务器端订阅下载数据
量化投资分析平台 迅投 QMT(三)字典数据下载后读取成Dataframe形式

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

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

相关文章

Linux--Socket编程基础

一、Socket简介 套接字( socket )是 Linux 下的一种进程间通信机制( socket IPC ), 使用 socket IPC 可以使得在不同主机上的应用程序之间进行通信(网络通信),当然也可以是同一台…

【Excel】Excel中将日期格式转换为文本格式,并按日期显示。

【问题需求】 在使用excel进行数据导入的过程中, 有的软件要求日期列必须是文本格式。 但是直接将日期列的格式改为文本后,显示一串数字,而不按日期显示。 进而无法导入使用。 【解决方法】 使用【TXET】函数公式进行处理, 在单…

EDA数据跨网交换解决方案,一文了解

EDA数据通常与电子设计自动化相关,这是一种利用计算机辅助设计(CAD)软件来完成超大规模集成电路(VLSI)芯片的功能设计、综合、验证、物理设计等流程的技术。以下是一些会涉及到EDA数据的行业: 集成电路设计…

目前的 Layer2 解决方案有什么优缺点

Layer2解决方案是区块链技术中的一种扩展机制,旨在提高交易速度、降低成本并增加网络的可扩展性,同时保持主链的安全性。目前的Layer2解决方案包括状态通道(State Channels)、侧链(Sidechains)、Rollups&am…

淘宝扭蛋机源码解析:功能实现与技术细节

随着在线购物和娱乐的融合,淘宝扭蛋机作为一种创新的购物娱乐方式,受到了广大用户的喜爱。本文将深入解析淘宝扭蛋机的源码,探讨其功能实现与技术细节,以期为开发者们提供一些有价值的参考。 一、功能实现 1.用户登录与注册 淘宝…

《深入浅出OCR》项目实战:基于CRNN的文字识别

基于CRNN的文本字符验证码识别 1项目介绍链接: 为方便大家快速上手OCR实战,本次实战项目采用开源框架PaddleOCR,大家可以参考官网文档快速了解基本使用,项目数据为2022 DCIC赛题中提供的验证码数据集,大家可以参考其他…

圈子社区系统源码 开源 多端圈子社区论坛系统 社区圈子管理系统

介绍 圈子论坛小程序,是一款为用户提供交流分享、互动沟通的平台。在这个小程序中,用户可以轻松地加入各种不同兴趣爱好的圈子,与志同道合的朋友们交流互动。圈子论坛小程序不仅仅是一个简单的社交工具,更是一个打开新世界大门的…

el-table 固定前n行

el-table 固定前n行 第一种&#xff0c;通过设置前几行粘性布局 <el-table:data"tableData2"borderheight"calc(98% - 40px)"// 设置行样式:row-class-name"TableRowClassName"selection-change"handleSelectionChange" ><…

python编程语言软件:深度解析与实用指南

python编程语言软件&#xff1a;深度解析与实用指南 在数字化时代&#xff0c;Python编程语言软件因其易用性、强大的功能和广泛的应用领域而备受瞩目。本文将从四个方面、五个方面、六个方面和七个方面&#xff0c;深入剖析Python编程语言软件的特点、优势以及应用场景&#…

在 Java 项目中扫描识别图片中的文字(详细教程)

目录 需求&#xff1a; 步骤&#xff1a; 1、maven配置&#xff08;pom.xml&#xff09;&#xff1a; 2、下载依赖文件&#xff1a; 3、代码&#xff1a; post进行测试&#xff1a; 测试图片&#xff1a; 测试结果&#xff1a; 需求&#xff1a; 上传图片文件进行扫描…

CentOS 9安装Kubernetes(k8s)集群

前言 1、版本说明 系统版本&#xff1a;CentOS 9 k8s版本&#xff1a;v1.29.5 docker版本&#xff1a;26.1.3 harbor&#xff1a;v2.9.4 2、提前准备好1台虚拟机&#xff0c;可以参考博客&#xff1a;Vmware 17安装 CentOS9 3、虚拟机提前安装好docker&#xff0c;参考博客&a…

调试记录-uboot编译出错

问题描述 RK平台在编译uboot代码过程中&#xff0c;可能因为编译环境的问题&#xff0c;会报这样的错误&#xff0c;导致编译不过&#xff1a; $ ./make.sh rk3399 make for rk3399_defconfig by -j8HOSTCC scripts/basic/fixdepHOSTCC scripts/kconfig/conf.oHOSTCC scri…

微信小程序多端框架打包后发布到华为市场

app上架华为应用市场 一、android 发布到华为应用市场 1、华为应用市场注册开发者账号 https://developer.huawei.com/consumer/cn/?ha_sourcesem&ha_sourceId89000605 2、进行企业认证 3、app隐私弹窗 miniapp-privacy.json 1、协议弹窗内容&#xff1a; {"tit…

C语言中的整型提升

一. 简介 本文来简单学习一下&#xff0c;C语言中的整型提升。 二. C语言中的整型提升 1. 什么是整型提升&#xff1f; C语言中的算数运算表达式总是以整型的精度进行的&#xff0c;为了获得这个精度&#xff0c;表达式的字符和短整型操作数在使用之前被隐式转换为普通类型…

Linux中Apache网站基于Http服务的访问限制(基于地址/用户)

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f468;‍&#x1f4bb;Linux高级管理专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年6月3日11点44分 &#x1f004;️文章质量&#xff1a;95分 为了更好地控制对网站资源的访问&#xff0c;可…

谈谈JDK 漏洞 6260652

JDK 漏洞 6260652 在看ArrayList源码的过程中 发现带参构造里有一个注释&#xff1a; // c.toArray might (incorrectly) not return Object[] (see 6260652) public ArrayList(Collection<? extends E> c) {elementData c.toArray();if ((size elementData.length) …

spring boot集成pg

pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation"http://maven.apache.org/POM/4.0.…

LAPGAN-拉普拉斯金字塔生成网络

文章目录 基本思路:Introdution拉普拉斯金字塔LAPGANLAPGAN的正向过程训练过程基本思路:Introdution 这篇论文的一个基本方法逻辑是:利用拉普拉斯金字塔结构,将拉普拉斯金字塔中的每一层利用CGAN结构来逐步生成一个高精度的图像。 In contrast, we propose an approach t…

【linux】服务器mobaxterm安装matlab2021b(有管理员权限)

【linux】服务器mobaxterm安装matlab2021b(有管理员权限) 文章目录 【linux】服务器mobaxterm安装matlab2021b(有管理员权限)1、下载matlab2021b,下载后里面是Matlab911R2021b_Lin64.iso、Crack.zip两个文件夹2、解压Crack.zip,得到libmwlmgrimpl.so、license.lic两个文件3、…