qmt量化教程4----訂閱全推數據

文章鏈接?qmt量化教程4----訂閱全推數據 (qq.com)

上次寫了訂閱單股數據的教程?量化教程3---miniqmt當作第三方庫設置,提供源代碼

全推就主動推送,當行情有變化就會觸發回調函數,推送實時數據,可以理解為數據驅動類型,當數據沒有變化不推送數據,函數保持一樣的數據,可以全推市場數據比如SH,SZ,期貨市場等

1打開qmt,登錄選擇極簡模式

圖片

原始的qmt全推送函數代碼

圖片

# coding:utf-8import timefrom xtquant import xtdatacode='600031.SH'#訂閱最新行情def callback_func(data):    print('回調觸發')    stock_code=list(data.keys())    df=xtdata.get_full_tick(code_list=stock_code)    print(df)    xtdata.subscribe_quote(stock_code=code,start_time='20240101',end_time='20240525',period='1m')    hist=xtdata.get_market_data(stock_list=[code],start_time='20240101',end_time='20240525',period='1m')    print(hist)xtdata.subscribe_whole_quote(code_list=[code],callback=callback_func)#死循環 阻塞主線程退出xtdata.run()

運行的效果

圖片

推送一分鐘的數據先訂閱

圖片

小果框架利用類開發使用非常方便

圖片

小果框架訂閱全推數據的代碼????

# coding:utf-8import timefrom qmt_trader.qmt_data import qmt_datadata=qmt_data()code='600031.SH'#訂閱最新行情def callback_func(datas):    print('回調觸發')    stock_code=list(datas.keys())    df=data.get_full_tick(code_list=stock_code)    print(df)    data.subscribe_quote(stock_code=code,start_time='20240101',end_time='20240525',period='1m')    hist=data.get_market_data(stock_list=[code],start_time='20240101',end_time='20240525',period='1m')    print(hist)data.subscribe_whole_quote(code_list=[code],callback=callback_func)#死循環 阻塞主線程退出data.run()#函數的具體代碼"""def get_full_tick(self,code_list=['600031.SH','600111.SH']):        '''        例子        models=qmt_data()        stock_list=['600031.SH','600111.SH']        df=models.get_full_tick()        print(df)        釋義        獲取全推數據        參數        code_list - 代碼列表,支持傳入市場代碼或合約代碼兩種方式        傳入市場代碼代表訂閱全市場,示例:['SH', 'SZ']        傳入合約代碼代表訂閱指定的合約,示例:['600000.SH', '000001.SZ']        返回        dict 數據集 { stock1 : data1, stock2 : data2, ... }        備注        獲取除權數據        '''        df=self.xtdata.get_full_tick(code_list=code_list)        return df""""""def get_market_data(self,field_list=[], stock_list=['600031.SH','600111.SH'],                         period='1d', start_time='20210101', end_time='20240419',                        count=-100, dividend_type='none', fill_data=True):        '''        數據需要先訂閱        #啟動模型        models=qmt_data()        models.subscribe_quote(stock_code='600031.SH')        df=models.get_market_data(field_list=[], stock_list=['600031.SH','600111.SH'],                             period='1d', start_time='20210101', end_time='20240419',                            count=-100, dividend_type='none', fill_data=True)        print(df)        釋義        從緩存獲取行情數據,是主動獲取行情的主要接口        參數        field_list - list 數據字段列表,傳空則為全部字段        stock_list - list 合約代碼列表        period - string 周期        start_time - string 起始時間        end_time - string 結束時間        count - int 數據個數        默認參數,大于等于0時,若指定了start_time,end_time,此時以end_time為基準向前取count條;若start_time,end_time缺省,默認取本地數據最新的count條數據;若start_time,end_time,count都缺省時,默認取本地全部數據        dividend_type - string 除權方式        fill_data - bool 是否向后填充空缺數據        返回        period為1m 5m 1d等K線周期時        返回dict { field1 : value1, field2 : value2, ... }        field1, field2, ... :數據字段        value1, value2, ... :pd.DataFrame 數據集,index為stock_list,columns為time_list        各字段對應的DataFrame維度相同、索引相同        period為tick分筆周期時        返回dict { stock1 : value1, stock2 : value2, ... }        stock1, stock2, ... :合約代碼        value1, value2, ... :np.ndarray 數據集,按數據時間戳time增序排列        備注        獲取lv2數據時需要數據終端有lv2數據權限        時間范圍為閉區間        '''        df=self.xtdata.get_market_data(field_list, stock_list, period,                                        start_time, end_time, count, dividend_type, fill_data)        return df    def get_marke""""""def subscribe_whole_quote(self,code_list=['600031.SH'], callback=None):        '''        models=qmt_data()        func=models.on_data_subscribe_quote        models.subscribe_whole_quote(code_list=['600031.SH','600111.SH'],callback=func)        models.run()        釋義        訂閱全推行情數據,返回訂閱號        數據推送從callback返回,數據類型為分筆數據        參數        code_list - 代碼列表,支持傳入市場代碼或合約代碼兩種方式        傳入市場代碼代表訂閱全市場,示例:['SH', 'SZ']        傳入合約代碼代表訂閱指定的合約,示例:['600000.SH', '000001.SZ']        callback - 數據推送回調        回調定義形式為on_data(datas),回調參數datas格式為 { stock1 : data1, stock2 : data2, ... }        '''        stats=self.xtdata.subscribe_whole_quote(code_list=code_list,callback=callback)        if stats !=-1:            print('{}訂閱成功'.format(code_list))        else:            print('{}訂閱失敗'.format(code_list))        return stats"""

推送ticck數據

圖片

推送一分鐘數據

圖片

源代碼全部上傳了知識星球可以直接下載

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15348.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15348.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15348.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mysql中使用 mysqldump 實現跨機器備份|數據同步

1.如果同步數據庫,必須先創建數據庫: mysqldump -h 192.168.1.10 --lock-tablesfalse -uroot -proot db_name | mysql -h127.0.0.1 -uroot -proot db_name2.過濾掉不想要的表(沒試過,但是試過轉為sql文件的) mysqldump -h 192.168.1.10 --…

vs2019 c++ 函數的返回值是對象的值傳遞時候,將調用對象的移動構造函數

以前倒沒有注意過這個問題。但編譯器這么處理也符合移動構造的語義。因為本來函數體內的變量也要離開作用域被銷毀回收了。測試如下: 謝謝

實現信號發生控制

1. 信號發生器的基本原理 信號發生器是一種能夠產生特定波形和頻率的電子設備,常用于模擬信號的產生和測試。 信號發生器的基本原理 信號發生器的工作原理基于不同的技術,但最常見的類型包括模擬信號發生器和數字信號發生器(DDS&#xff0…

[SCTF2019]babyre

打開看看還是有花指令 解除后首先pass1是解maze,好像又是三維的 x是25,也就是向下跳五層,注意是立體的 得到 passwd1: ddwwxxssxaxwwaasasyywwdd 接著往下看 有一個加密函數IDA逆向常用宏定義_lodword-CSDN博客 unsigned __int64 __fastca…

primeflex樣式庫筆記 Display相關的案例

回顧 寬度設置的基本總結 w-full:表示widtdh:100%;占滿父容器的寬度。 w-screen:表示占滿整個屏幕的寬度。 w-1到w-12,是按百分比劃分寬度,數字越大,占據的比例就越大。 w-1rem到w-30rem&…

Oracle的安裝以及一些相關問題

系列文章目錄 Oracle的安裝以及一些相關問題 文章目錄 系列文章目錄前言一、Oracle的安裝二、常用命令三、誤刪dbf四、PLSQL亂碼五、oracle更換數據庫字符集總結 前言 一段時間沒更新,主要最近一直在找工作,最終還是順著春招找到工作了,現在…

美信時代監控易:堆疊交換機的監控與配置管理策略

隨著企業數字化轉型的加速,網絡架構的複雜性日益提升,堆疊交換機作為高可靠性、靈活擴展性的解決方案,在網絡基礎設施中扮演著至關重要的角色。然而,如何確保堆疊交換機的穩定運行,實現高效監控與配置管理,…

剖析 OceanBase 應對高并發的技術策略

推薦一個AI網站,免費使用豆包AI模型,快去白嫖👉海鯨AI 在當今互聯網時代,高并發場景下的數據庫處理能力成為了許多應用的關鍵需求。為了滿足用戶對快速響應和高吞吐量的期望,數據庫系統需要采用一系列技術來優化并發性…

七大經典排序算法——冒泡排序

文章目錄 📑冒泡排序介紹🌤?代碼實現🌤?做個簡單的優化🌤?復雜度和穩定性分析??結語 📑冒泡排序介紹 冒泡排序是一種簡單但效率較低的排序算法。它重復地比較相鄰的兩個元素,如果順序不對則交換它們&…

C++ socket epoll IO多路復用

IO多路復用通常用于處理單進程高并發,在Linux中,一切皆文件,一個socket連接會對應一個文件描述符,在監聽多個文件描述符的狀態應用中epoll相對于select和poll效率更高 epoll本質是系統在內核維護了一顆紅黑樹,監聽的文…

Linux中bash腳本怎么表示一個字符串變量

Linux中bash腳本怎么表示一個字符串變量 在Bash腳本中,你可以使用單引號()或雙引號(")來表示一個字符串變量。以下是兩種方式的示例: 使用單引號(): my_variable…

flink 和 clipper搭配使用

Flink是一個用于流處理和批處理的開源框架,可以實時數據處理和分析。 Clipper 是一個用于機器學習模型服務化的開源框架,能夠輕松部署和管理機器學習模型,使模型可以通過統一的接口提供在線推理服務。 flink和clipper搭配使用: …

Leetcode | 5-21| 每日一題

2769. 找出最大的可達成數字 考點: 暴力 數學式子計算 思維 題解 通過式子推導: 第一想法是二分確定區間在區間內進行查找是否符合條件的, 本題最關鍵的便是 條件確定 , 第二種方法: 一般是通過數學公式推導的,這種題目我稱為數學式編程題 代碼 條件判斷式 class Solution { …

需求分析的任務

1 確定對系統的綜合要求 雖然功能需求是對軟件系統的一項基本需求,但卻并不是唯一的需求。通常對軟件系統有下述幾方面的綜合要求。 1.功能需求 這方面的需求指定系統必須提供的服務。通過需求分析應該劃分出系統必須完成的所有功能。 2.性能…

MacBook 怎么玩Windows游戲 蘋果筆記本怎么玩游戲?mac上如何玩windows游戲

傳統上,Mac 不被認為是好的游戲機。然而,蘋果已經開始在 Mac 上的游戲上投入更多精力,特別是自從轉向蘋果芯片以來。這使得 Mac 游戲的本機移植數量和模擬 Windows 游戲的能力都得到了顯著提高。 方法一:Boot Camp 1、Boot Camp是…

SpirngMVC框架學習筆記(一):SpringMVC基本介紹

1 SpringMVC 特點&概述 SpringMVC 從易用性,效率上 比曾經流行的 Struts2 更好 SpringMVC 是 WEB 層框架,接管了 Web 層組件, 比如控制器, 視圖, 視圖解析, 返回給用戶的數據格式, 同時支持 MVC 的開發模式/開發架構SpringMVC 通過注解,…

Java數據結構和算法(B樹)

前言 B樹又叫平衡的多路搜索樹;平衡的意思是又滿足平衡二叉樹的一些性質,左樹大于右樹; 多路意思是,可以多個結點,不再是像二叉樹只有兩個結點; 實現原理 B樹是一種自平衡的搜索樹,通常用于實…

MySQL和MongoDB數據庫的區別

MySQL和MongoDB數據庫的區別 隨著大數據和云計算技術的興起,數據庫的選擇成為開發者和架構師必須面對的重要決策。MySQL和MongoDB作為關系型數據庫和非關系型數據庫的代表,在各自領域都有著廣泛的應用。本文將從多方面詳細比較MySQL和MongoDB&#xff0…

MATLAB:插值函數之interp與griddata

MATLAB 提供了多種插值函數來處理不同維度的數據。其中,interp1、interp2 和 griddata 是常用的插值函數,分別用于一維、二維和多維(不規則)數據的插值。 之前有對interp1進行過詳細介紹,如需詳細了解,請查…

會聲會影調速怎么用 會聲會影如何調整音頻速度

會聲會影是一款功能強大的視頻編輯軟件,可以幫助我們輕松的實現剪輯。 會聲會影的操作簡單易懂,界面簡潔明快。適合家庭使用, 我們使用會聲會影可以在家就能將視頻剪輯成好萊塢大片。但是在使用的過程中,仍然會遇到一些操作上的問…