小果网页---套利系统添加了可以套利模块,提供数据api

最近在小果套利系统里面添加了一下可以套利模块,同时实现了盘中自动更新,30分钟更新一次。给大家提交交易参考,可以套利模块的选择

df=df[df['申购状态'] !='暂停申购']df=df[df['申购限额'] !='无限额']df['溢价率']=df['溢价率'].astype(float)df['成交量']=df['成交量'].astype(float)df=df[df['溢价率']>=1.2]df=df[df['成交量']>=1000000]

成交量大于100万,溢价率对于1.2,申购状态不是暂停申购,申购限额不是无限额

网页http://120.78.132.143:8023/

图片

点击lof套利模块 网页http://120.78.132.143:8023/lof_fund_data_analysis_app

点击运行,在点击不运行在点运行

图片

可以点击排序溢价率

图片

可以点击下载数据下载数据

图片

下载的数据

图片

全部的lof数据

图片

套利分析

图片

可以套利模块

图片

历史溢价率

图片

可以选择状态的标的

图片

历史数据

图片

交易状态查询可以选择标的

图片

源代码全部上传了知识星球可以下载

图片

可以加我备注加群,进入我的量化研究群

图片

数据api​​​​​

import pandas as pdimport jsonimport requestsimport osclass xg_financial_database:    '''    小果金融数据库    '''    def __init__(self,url='http://120.78.132.143',port=8023,password='123456'):        '''        小果金融数据库        url服务器网页        port端口        password授权码        '''        self.url=url        self.port=port        self.password=password        self.path=os.path.dirname(os.path.abspath(__file__))    def get_user_info(self):        '''        获取用户信息        '''        url='{}:{}/_dash-update-component'.format(self.url,self.port)        headers={'Content-Type':'application/json'}        data={            "output":"finace_data_table_1.data@c28c1f466316fd80f79b58b2e7baab2f",            "outputs":{"id":"finace_data_table_1","property":"data@c28c1f466316fd80f79b58b2e7baab2f"},            "inputs":[{"id":"finace_data_password","property":"value","value":"{}".format(self.password)},            {"id":"finace_data_data_type","property":"value","value":"代码"},            {"id":"finace_data_text","property":"value","value":"from trader_tool.stock_data import stock_data\nstock_data=stock_data()\ndf=stock_data.get_stock_hist_data_em(stock='600031',start_date='20210101',end_date='20600101',data_type='D',count=8000)\ndf.to_csv(r'{}\\数据\\{}数据.csv')\n                \n                "},            {"id":"finace_data_run","property":"value","value":"运行"},            {"id":"finace_data_down_data","property":"value","value":"不下载数据"}],            "changedPropIds":["finace_data_run.value"]}        res=requests.post(url=url,data=json.dumps(data),headers=headers)        text=res.json()        df=pd.DataFrame(text['response']['finace_data_table_1']['data'])        return df    def get_user_def_data(self,func=''):        '''        自定义数据获取        调用数据库        '''        text=self.params_func(text=func)        func=text        info=self.get_user_info()        print(info)        url='{}:{}/_dash-update-component'.format(self.url,self.port)        headers={'Content-Type':'application/json'}        data={"output":"finace_data_table.data@c28c1f466316fd80f79b58b2e7baab2f",            "outputs":{"id":"finace_data_table","property":"data@c28c1f466316fd80f79b58b2e7baab2f"},            "inputs":[{"id":"finace_data_password","property":"value","value":"{}".format(self.password)},            {"id":"finace_data_data_type","property":"value","value":"代码"},            {"id":"finace_data_text","property":"value","value":"{}".format(func)},            {"id":"finace_data_run","property":"value","value":"运行"},            {"id":"finace_data_down_data","property":"value","value":"不下载数据"}],            "changedPropIds":["finace_data_run.value"]}        res=requests.post(url=url,data=json.dumps(data),headers=headers)        text=res.json()        df=pd.DataFrame(text['response']['finace_data_table']['data'])        return info, df    def params_func(self,text=''):        '''        解析函数        '''        data_list=[]        f=text.split('\n')        for i in f:            text=i.strip().lstrip()            data_list.append(text)        func='\n'.join(data_list)        return func    def get_all_etf_data(self):        '''        获取全部的etf数据        '''        func="""        from trader_tool.dfcf_etf_data import dfcf_etf_data        data=dfcf_etf_data()        df=data.get_all_etf_data()        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_bond_etf_data(self):        '''        获取债券的etf数据        '''        func="""        from trader_tool.dfcf_etf_data import dfcf_etf_data        data=dfcf_etf_data()        df=data.get_bond_etf_data()        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_sz_sh_etf(self):        '''        获取A股ETF数据        '''        func="""        from trader_tool.dfcf_etf_data import dfcf_etf_data        data=dfcf_etf_data()        df=data.get_sz_sh_etf()        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_wp_etf_data(self):        '''        获取外盘ETF数据        '''        func="""        from trader_tool.dfcf_etf_data import dfcf_etf_data        data=dfcf_etf_data()        df=data.get_wp_etf_data()        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_sp_etf_data(self):        '''        获取商品ETF数据        '''        func="""        from trader_tool.dfcf_etf_data import dfcf_etf_data        data=dfcf_etf_data()        df=data.get_sp_etf_data()        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_hot_spot_investment(self):        '''        获取ETF热点投资数据        '''        func="""        from trader_tool.dfcf_etf_data import dfcf_etf_data        data=dfcf_etf_data()        df=data.get_hot_spot_investment()        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_hot_spot_investment(self):        '''        获取ETF热点投资数据        '''        func="""        from trader_tool.dfcf_etf_data import dfcf_etf_data        data=dfcf_etf_data()        df=data.get_hot_spot_investment()        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_limit_up_pool(self,date='20240126'):        '''        获取涨停板数据        '''        func="""        from trader_tool.ths_limitup_data import ths_limitup_data        data=ths_limitup_data()        df=data.read_func_data(func="self.get_limit_up_pool(date={})")        print(df)        """.format(date)+"""        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_limit_up(self,date=''):        '''        冲刺涨停        '''        func="""        from trader_tool.ths_limitup_data import ths_limitup_data        data=ths_limitup_data()        df=data.read_func_data(func="self.get_limit_up(date={})")        print(df)        """.format(date)+"""        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_continuous_limit_pool(self,date='20230925'):        '''        连扳        '''        func="""        from trader_tool.ths_limitup_data import ths_limitup_data        data=ths_limitup_data()        df=data.read_func_data(func="self.get_continuous_limit_pool(date={})")        print(df)        """.format(date)+"""        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_open_limit_pool(self,date='20230925'):        '''        炸板池        '''        func="""        from trader_tool.ths_limitup_data import ths_limitup_data        data=ths_limitup_data()        df=data.read_func_data(func="self.get_open_limit_pool(date={})")        print(df)        """.format(date)+"""        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_lower_limit_pool(self,date='20230101'):        '''        跌停        '''        func="""        from trader_tool.ths_limitup_data import ths_limitup_data        data=ths_limitup_data()        df=data.read_func_data(func="self.get_lower_limit_pool(date={})")        print(df)        """.format(date)+"""        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_block_top_pool(self,date='20230101'):        '''        最强风口        '''        func="""        from trader_tool.ths_limitup_data import ths_limitup_data        data=ths_limitup_data()        df=data.read_func_data(func="self.get_block_top_pool(date={})")        print(df)        """.format(date)+"""        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_analysis_block_top_pool(self,date='20240101'):        '''        解析最强风口        '''        func="""        from trader_tool.ths_limitup_data import ths_limitup_data        data=ths_limitup_data()        df=data.read_func_data(func="self.get_analysis_block_top_pool(date={})")        print(df)        """.format(date)+"""        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_stock_continuous_limit_up(self,date='20240101'):        '''        连扳天梯        '''        func="""        from trader_tool.ths_limitup_data import ths_limitup_data        data=ths_limitup_data()        df=data.read_func_data(func="self.get_stock_continuous_limit_up(date={})")        print(df)        """.format(date)+"""        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_hot_stock_rank(self):        func="""        from trader_tool.ths_rq import ths_rq        models=ths_rq()        df=models.get_hot_stock_rank()        print(df)        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_stock_concept_rot_rank(self):        func="""        from trader_tool.ths_rq import ths_rq        models=ths_rq()        df=models.get_stock_concept_rot_rank()        print(df)        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_stock_industry_rot_rank(self):        func="""        from trader_tool.ths_rq import ths_rq        models=ths_rq()        df=models.get_stock_industry_rot_rank()        print(df)        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_etf_hot_rank(self):        func="""        from trader_tool.ths_rq import ths_rq        models=ths_rq()        df=models.get_etf_hot_rank()        print(df)        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_cov_bond_rot_rank(self):        func="""        from trader_tool.ths_rq import ths_rq        models=ths_rq()        df=models.get_cov_bond_rot_rank()        print(df)        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_HK_stock_rot_rank(self):        func="""        from trader_tool.ths_rq import ths_rq        models=ths_rq()        df=models.get_HK_stock_rot_rank()        print(df)        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_US_stock_rot_rank(self):        func="""        from trader_tool.ths_rq import ths_rq        models=ths_rq()        df=models.get_US_stock_rot_rank()        print(df)        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_futurn_hot_rank(self):        func="""        from trader_tool.ths_rq import ths_rq        models=ths_rq()        df=models.get_futurn_hot_rank()        print(df)        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def fund_lof_spot_em(self):        '''        LOF 实时行情        '''        func="""        from trader_tool.lof_fund_data import lof_fund_data        models=lof_fund_data()        df=models.fund_lof_spot_em()        print(df)        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def fund_lof_hist_em(self,        symbol: str = "166009",        period: str = "daily",        start_date: str = "19700101",        end_date: str = "20500101",        adjust: str = "",):        '''        获取lof历史数据        '''        func="""        from trader_tool.lof_fund_data import lof_fund_data        models=lof_fund_data()        df=models.fund_lof_hist_em(symbol='{}',        period='{}',        start_date='{}',        end_date='{}',        adjust='{}')        print(df)        """.format(symbol,period,start_date,end_date,adjust)+"""        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def fund_lof_hist_min_em(self,        symbol: str = "166009",        start_date: str = "1979-09-01 09:32:00",        end_date: str = "2222-01-01 09:32:00",        period: str = "5",        adjust: str = ""):        '''        lof分时行情        '''        func="""        from trader_tool.lof_fund_data import lof_fund_data        models=lof_fund_data()        df=models.fund_lof_hist_min_em(symbol='{}',        period='{}',        start_date='{}',        end_date='{}',        adjust='{}')        print(df)        """.format(symbol,period,start_date,end_date,adjust)+"""        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_lof_fund_info_data(self,stock='501225'):        '''        获取ETF基本信息        '''        func="""        from trader_tool.lof_fund_data import lof_fund_data        models=lof_fund_data()        df=models.get_lof_fund_info_data(stock='{}')        """.format(stock)+"""        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,df    def get_all_lof_fund_info_data(self):        '''        获取全部lof基金数据        '''        func="""        from trader_tool.lof_fund_data import lof_fund_data        models=lof_fund_data()        df=models.get_all_lof_fund_info_data()        print(df)        df.to_csv(r'{}\数据\{}数据.csv')        """        info,df=self.get_user_def_data(func=func)        return info,dfif __name__=='__main__':    data=xg_financial_database(password='123456')    df=data.get_lof_fund_info_data(stock='501025')    print(df)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

“网络安全新纪元:等保2.0的详细解读与实践”

网络安全等级保护基本要求》(等保2.0)于2019年6月发布,是我国网络安全等级保护制度的一项重要标准。等保2.0主要针对关键信息基础设施的网络安全保护,对数据安全和个人信息保护提出了更高的要求。本文将对等保2.0进行详细解读&…

leetcode-字符串变形-104

题目要求 思路 1.首先根据ASCII的规则,把字符串大小写替换,空格保持不变 2.将整个字符串进行翻转 3.以空格为区间,将区间内的字符串进行翻转,其中翻转的函数reverse() 代码实现 class Solution { public:string trans(string s…

数组定义方法

数组定义方法 "abcdef" 一个字符串 "a" "b" "c" "d" "e" "f" 字符串列表 ("a" "b" "c" "d" "e" &…

洛谷 P3372:线段树 1 ← 分块算法模板(区间更新、区间查询)

【题目来源】https://www.luogu.com.cn/problem/P3372【题目描述】 如题,已知一个数列,你需要进行下面两种操作: (1)将某区间每一个数加上 k。 (2)求出某区间每一个数的和。【输入格式】 第一行…

百面算法工程师 | YOLOv6面试考点原理全解析

本文给大家带来的百面算法工程师是深度学习目标检测YOLOv6面试总结,文章内总结了常见的提问问题,旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中,我们还将介绍一些常见的深度学习目标检测面试问题,并提供参考的回答…

pikachu靶场通关之暴力破解

目录 基于表单的暴力破解 1.打开网站,随便输入一个账号密码,点击登录 2.输入正确的账号密码,点击右上角的提示 3.随便输入账号密码,抓包 4.右键发送到intruder,点击intruder 5.设置攻击位置 6.设置攻击模式,选择…

【十大排序算法】----C语言版插入排序(详细图解)

目录 一:插入排序——原理 二:插入排序——分析 三:插入排序——实现 四:插入排序——效率 一:插入排序——原理 插入排序的原理和基本思想:把待排序的记录按其关键码值的大小逐个插入到一个已经排好序…

Python-VBA函数之旅-zip函数

目录 一、zip函数的常见应用场景 二、zip函数使用注意事项 三、如何用好zip函数? 1、zip函数: 1-1、Python: 1-2、VBA: 2、推荐阅读: 个人主页:https://myelsa1024.blog.csdn.net/ 一、zip函数的常见…

【C语言每日题解】三题:回文检查、刘备 关羽 张飞三人过年放鞭炮、约瑟夫环问题(犹太人死亡游戏)(难度up,推荐)

🥰欢迎关注 轻松拿捏C语言系列,来和 小哇 一起进步!✊ 🌈感谢大家的阅读、点赞、收藏和关注 🥰希望大家喜欢我本次的讲解 🌟非常推荐最后一道题 🌹 犹太人死亡游戏,建议观看 &…

Milvus的系统架构

简介 Milvus的构建在许多知名的向量搜索库比如Faiss, HNSW, DiskANN, SCANN等之上的,它针对稠密向量数据集的相似搜索而设计,能支持百万、十亿甚至万亿级别的向量搜索。 Milvus支持数据分片,流式数据插入,动态schema&#xff0c…

【数据结构】队列的实现(链式)

文章目录 队列1.队列的概念及结构概念结构 2.队列的实现(链式结构)队列定义初始化队列入队出队获取队头元素获取队尾元素销毁队列判断队列是否为空队列有效个数 完整代码(包含测试代码)Queue.hQueue.ctest.c 队列 1.队列的概念及…

PCIE/PCI设备配置空间

PCI/PCIE Capability PCI/PCIE设备的配置空间记录了PCIE设备的capability支持信息,每个capability定义了一个ID标识,可以通过函数pci_find_capability和pci_find_ext_capability来探测和获取这些配置信息的位置。这些ID定义在文件include/uapi/linux/pc…

vue2+Ts中openLayer绘图工具组件封装

vue2Ts中openLayer绘图工具组件封装 效果&#xff1a; 封装组件代码&#xff1a; <!-- openLayer绘图工具 --> <template><a-button-group v-show"isShow"><a-button v-if"shouldShowButton(point)" click"draw(Point)"…

linux的 /usr/sbin/nologin /sbin/nologin /bin/false /etc/nologin 的作用与区别

/usr/sbin/nologin /sbin/nologin /bin/false /etc/nologin 的作用与区别 /usr/sbin/nologin /sbin/nologin /bin/false 这三者的作用几乎一样&#xff0c;都是禁止用户登录。 /usr/sbin/nologin /sbin/nologin 是同一个文件&#xff0c;通过软连接指向。 当把用户的bash设置…

Malbers Inventory System

Inventory插件为Malbers动物管理员生态系统带来了强大的库存系统&#xff0c;具有以下功能&#xff1a;通知系统、库存集、自定义物品反应等 ✔️特征 项目管理 收集和存储项目 库存显示 通知系统 物品所有者 库存集合 项目操作 保存和加载&#xff08;基于JSON.Net&#xff0c…

在 CSS 中使用 text-emphasis 来增强文本的趣味性

在CSS中设置文本样式的方法有很多。您可以更改颜色、大小、字体&#xff0c;甚至添加阴影和轮廓等效果。但最近&#xff0c;我了解到一个我以前没有听说过的时尚 CSS 属性&#xff0c;它非常棒&#xff01; 它被称为文本强调&#xff08;text-emphasis&#xff09;&#xff0c…

python数据可视化:层次聚类热图clustermap()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 python数据可视化&#xff1a; 层次聚类热图 clustermap() [太阳]选择题 请问关于以下代码表述错误的选项是&#xff1f; import seaborn as sns import matplotlib.pyplot as plt import n…

低成本窗帘电机解决方案KP81101 3.6A有刷直流电机H桥驱动器代替DRV8871

KP81101是一款有刷直流电机驱动器&#xff0c;适用于家用电器、工业设备和其他有刷直流电机、步进电机应用场合。驱动器由四个 NMOS 构成的 H 桥组成&#xff0c;两个逻辑输入控制全桥驱动器&#xff0c;以驱动直流有刷电机电流双向流动。驱动器的最大峰值电流能力为 3.6A。芯片…

Warning logs 2024-05-15

mysql数据库中文模糊查询时出现异常 Error querying database. Cause: java.sql.SQLException: Illegal mix of collations for operation like Select("select f.* from fundDetails f" " where (case when #{keyword} is not null then f.operateTime like c…

软件项目验收第三方测试报告如何获取

软件项目验收第三方测试报告是确保软件质量、安全性和稳定性的重要环节。对于企业和开发者来说&#xff0c;获取一份全面、专业的第三方测试报告&#xff0c;对于提升软件产品的竞争力和用户满意度至关重要。本文将介绍如何获取软件项目验收第三方测试报告&#xff0c;以及相关…