量化投资分析平台 迅投 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数据的行业: 集成电路设计…

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

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

在 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…

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

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) …

动物收容所

题目链接 动物收容所 题目描述 注意点 若没有可以收养的动物&#xff0c;则返回[-1,-1]收纳所的最大容量为20000编号随着收养动物的增加自增 解答思路 利用队列先进先出的特点将猫和狗分别存进两个队列中&#xff0c;关键是dequeueAny这个方法中如果此时猫和狗的队列中都有…

演讲全文|林涛:MongoDB助力智能制造出海控本增效

5月29日-30日在上海世博中心举办的亚马逊云科技中国峰会圆满结束。本文整理了MongoDB北亚区方案与咨询总监林涛在白金讲堂的演讲全文&#xff0c;就《MongoDB助力智能制造出海控本增效》话题与大家共同探讨。 白金讲堂演讲视频 从全球经济竞争的角度看&#xff0c;中国制造业…

C++标准模板(STL)- 迭代器库-迭代器适配器- 逆序遍历的迭代器适配器 (二)

迭代器库-迭代器原语 迭代器库提供了五种迭代器的定义&#xff0c;同时还提供了迭代器特征、适配器及相关的工具函数。 迭代器分类 迭代器共有五 (C17 前)六 (C17 起)种&#xff1a;遗留输入迭代器 (LegacyInputIterator) 、遗留输出迭代器 (LegacyOutputIterator) 、遗留向前…

网站安全小白也能搞定的SSL证书安装免费方法

大家都知道&#xff0c;部署一个网站&#xff0c;除了购买域名&#xff0c;现在基本标配SSL证书。 我们以aliyun为例 大家看到这个&#xff0c;收费的SSL证书几千-几万1年不等。这时候&#xff0c;你就会想有没有免费的可以搞。linux老鸟都知道&#xff0c; Let’s Encrypt 、…

Megapoly.Art - Mechanic Shop Pack

Megapoly.art很高兴推出“汽车机械师包”。这个模块化包包括创建汽车机械师场景所需的一切,从简单的工具到先进的机器,包括路虎卫士的额外内容。 移动友好型低多边形建模和优化的纹理。 包信息 总计:129个预制件 - 5个独特的机器,21个建筑预制件,98个道具和奖励内容路虎(…

JVM类加载机制和双亲委派

类加载机制 java文件需要编译成字节码文件(.class文件)&#xff0c;jvm是通过类加载机制&#xff0c;将.class文件加载进内存&#xff0c;经过验证连接->初始化直到使用该对象的过程就是类加载机制&#xff0c;当new对象的时候&#xff0c;jvm首先去常量池寻找该类的符号引用…