實盤回測一體的期貨策略開發:tqsdk獲取歷史數據并回測,附python代碼

原創內容第969篇,專注AGI+,AI量化投資、個人成長與財富自由。

星球好多同學希望說說實盤,我們就從實盤開始吧。

我們選擇tqsdk給大家講解,tqsdk支持免費注冊,使用模擬賬戶,歷史和實時數據,方便我們回測、實盤一體化的策略開發。

需要注冊一個賬戶即可,默認就有一個模擬賬戶。

然后統一訪問的api接口:

api?= TqApi(auth=TqAuth(username, password))

然后就可以訪問數據:

01 數據篇

查詢所有的主連合約,一共85個:

圖片

查詢上交所所有有股票列表,一共2421支:

圖片

查詢上交所所有基金列表,一共970支:

圖片

下面我們來獲取時序數據——螺紋鋼主連合約15分鐘線(500個數據)# 定義主連合約代碼(格式:KQ.m@{交易所}.{品種})

symbol =?"KQ.m@SHFE.rb"??# 螺紋鋼主連示例# 其他常見主連代碼:# ? KQ.m@DCE.m ?-> 豆粕主連# ? KQ.m@CFFEX.IF -> 滬深300股指主連# ? KQ.m@SHFE.au -> 黃金主連
# 請求分鐘線數據(以15分鐘線為例)df?= api.get_kline_serial(? ? symbol=symbol,? ? duration_seconds=60 * 15, ?# 周期:15分鐘(可修改為60=1分鐘)? ? data_length=500, ? ? ? ? ?# 獲取K線數量)df['datetime'] = pd.to_datetime(df['datetime'], unit='ns') ?# 毫秒轉datetimedf.set_index('datetime', inplace=True) ?df

圖片

圖片

使用tqsdk,我們不需要去管理數據,可以按需要獲取數據,這是非常方便的。

另外,tqsdk還是回測功能,真正做到策略實盤和回測一體。

02 回測篇

在30分鐘線上的回測——收盤價大于均線時做多,小于均線時平倉:

from?datetime?import?datefrom?tqsdk?import?TqApi, TqAuth, TqBacktest, TargetPosTask
'''如果當前價格大于5分鐘K線的MA15則開多倉如果小于則平倉回測從 2018-05-01 到 2018-10-01'''# 在創建 api 實例時傳入 TqBacktest 就會進入回測模式#api = TqApi(backtest=TqBacktest(start_dt=date(2018, 5, 1), end_dt=date(2018, 10, 1)), auth=TqAuth("快期賬戶", "賬戶密碼"))api = TqApi(backtest=TqBacktest(start_dt=date(2018,?5,?1), end_dt=date(2018,?10,?1)), auth=TqAuth(username, password))api# 獲得 m1901 5分鐘K線的引用klines = api.get_kline_serial("DCE.m1901",?30*?60, data_length=15)# 創建 m1901 的目標持倉 task,該 task 負責調整 m1901 的倉位到指定的目標倉位target_pos = TargetPosTask(api,?"DCE.m1901")
while?True:? ? api.wait_update()? ??if?api.is_changing(klines):? ? ? ? ma =?sum(klines.close.iloc[-15:]) /?15? ? ? ??#print("最新價", klines.close.iloc[-1], "MA", ma)? ? ? ??if?klines.close.iloc[-1] > ma:? ? ? ? ? ??#print("最新價大于MA: 目標多頭5手")? ? ? ? ? ??# 設置目標持倉為多頭5手? ? ? ? ? ? target_pos.set_target_volume(5)? ? ? ??elif?klines.close.iloc[-1] < ma:? ? ? ? ? ??#print("最新價小于MA: 目標空倉")? ? ? ? ? ??# 設置目標持倉為空倉? ? ? ? ? ? target_pos.set_target_volume(0)

圖片

圖片

點擊 “查看原文”,直接訪問策略集合。

擴展 ?? ?歷史文章 ??

EarnMore(賺得更多)基于RL的投資組合管理框架:一致的股票表示,可定制股票池管理。(附論文+代碼)

年化收益200%+的策略集 | 實時板塊資金熱力圖 「aitrader 5.0系統代碼發布」

機器學習驅動的策略開發通過流程 | 普通人階層躍遷的可能路徑?

年化30.24%,最大回撤19%,綜合動量多因子評分策略再升級(python代碼+數據)

三秒鐘創建一個年化28%,夏普比1.25的策略(python系統已開放源代碼下載)

會員專屬策略可以直接下載了,多個十年年化30+%策略集|polars重構因子引擎(代碼+數據下載)

6年年化收益46%,最大回撤率為16%的策略(附python代碼)

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

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

相關文章

大模型推理框架vLLM 中的Prompt緩存實現原理

背景&#xff1a;為什么需要Prompt緩存模塊&#xff1f;在大模型問答多輪對話應用場景中&#xff0c;不同請求的 Prompt 往往有相同的前綴&#xff0c;比如&#xff1a;第一次問答&#xff1a;你是一名專業的電子產品客服&#xff0c;負責回答客戶關于手機產品的咨詢。請根據以…

Python之Django使用技巧(附視頻教程)

概述 Django 是一個高級的 Python Web 框架&#xff0c;遵循 “batteries-included”&#xff08;內置電池&#xff09;理念&#xff0c;提供了構建 Web 應用所需的大部分組件&#xff0c;讓開發者可以專注于業務邏輯而不是底層細節。視頻教程&#xff1a;https://pan.quark.cn…

sqli-labs通關筆記-第44關 POST字符型堆疊注入(單引號閉合 手工注入+腳本注入3種方法)

目錄 一、堆疊注入 二、源碼分析 1、代碼審計 2、SQL注入安全性分析 三、堆疊手注法 1、進入靶場 2、正確用戶名密碼登錄 3、堆疊注入 4、查看數據庫 四、聯合手注法 1、獲取列數 2、確認回顯位 3、獲取數據庫名 4、獲取表名 5、獲取列名 6、獲取字段 7、總結…

從深度偽造到深度信任:AI安全的三場攻防戰

前言當大模型開始“睜眼”看世界&#xff0c;偽造者也開始“閉眼”造世界。2025 WAIC釋放出的信號很明確&#xff1a;沒有AI安全底座&#xff0c;就沒有產業智能化的高樓。WAIC 把“安全”擺在與“創新”同等重要的位置&#xff0c;形成了“1 份共識框架&#xff0b;2 份重磅報…

【C++】哈希的應用:位圖和布隆過濾器

目錄 一、位圖 1.1 位圖的概念 1.2 位圖的實現 1.3 位圖的應用 二、布隆過濾器 2.1 布隆過濾器的提出 2.2 布隆過濾器的概念 2.3 布隆過濾器的插入和查找 2.4 布隆過濾器的刪除 2.5 布隆過濾器的優點 2.6 布隆過濾器的缺點 一、位圖 1.1 位圖的概念 1. 面試題 給4…

C語言:指針(4)

1. 回調函數回調函數就是指通過函數指針調用的函數。如果將函數指針作為參數傳遞給另一個函數&#xff0c;另一個函數根據指針來調這個函數&#xff0c;那么被調用的函數就是回調函數。回調函數不是由這個函數的實現方直接調用&#xff0c;而是在特定的條件下由另一方調用的。例…

vue--video使用動態src時,視頻不更新

問題描述 在 Vue項目中&#xff0c;嘗試動態更新 標簽的 元素 src 屬性來切換視頻時&#xff0c;遇到了一個問題&#xff1a;即使 src 已更改&#xff0c;瀏覽器仍不顯示視頻。 <template><video width"100%" height"100%" controlspause"…

計算機視覺--opencv(代碼詳細教程)(一)

在計算機視覺的廣袤領域中&#xff0c;OpenCV 是一座極為關鍵的里程碑。無論是在前沿的學術研究&#xff0c;還是在蓬勃發展的工業界&#xff0c;OpenCV 憑借其強大的功能與高效的性能&#xff0c;為開發者提供了豐富的圖像處理和計算機視覺算法&#xff0c;助力無數項目落地。…

物聯網通訊協議-MQTT、Modbus、OPC

引言在物聯網迅速發展的今天&#xff0c;設備間的通信協議扮演著至關重要的角色。它們是不同設備、系統之間實現數據交換的橋梁。本文將詳細介紹三種在物聯網領域廣泛應用的通訊協議——MQTT、Modbus和OPC&#xff0c;包括它們的基礎概念、特點及在C#中的實現方法。一、MQTT協議…

牛客周賽R104 小紅的矩陣不動點

D-小紅的矩陣不動點_牛客周賽 Round 104 賽時這道題卡了一段時間&#xff0c;賽時代碼如下&#xff1a; #include<bits/stdc.h> using namespace std; int ans,h; int a[505][505]; signed main(){ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);int n,m;cin>…

Rust面試題及詳細答案120道(19-26)-- 所有權與借用

《前后端面試題》專欄集合了前后端各個知識模塊的面試題&#xff0c;包括html&#xff0c;javascript&#xff0c;css&#xff0c;vue&#xff0c;react&#xff0c;java&#xff0c;Openlayers&#xff0c;leaflet&#xff0c;cesium&#xff0c;mapboxGL&#xff0c;threejs&…

Jenkins + SonarQube 從原理到實戰三:SonarQube 打通 Windows AD(LDAP)認證與踩坑記錄

前言 在前兩篇文章中&#xff0c;已經介紹了 SonarQube 的部署 以及 通過 sonar-cxx 插件實現 C/C 代碼掃描。 本篇將重點講 如何讓 SonarQube 對接 Windows AD&#xff08;LDAP&#xff09;&#xff0c;實現域賬號登錄和基于 AD 組的權限管理。 一、背景與需求分析 需求分析…

[AI React Web] 包與依賴管理 | `axios`庫 | `framer-motion`庫

第七章&#xff1a;包與依賴管理 在我們使用open-lovable的旅程中&#xff0c;已經探索了它如何管理對話狀態&#xff08;第一章&#xff1a;對話狀態管理&#xff09;、將創意轉化為可運行代碼&#xff08;第二章&#xff1a;AI代碼生成管道&#xff09;、如何在安全的虛擬環…

PanSou 一款開源網盤搜索項目,集成前后端,一鍵部署,開箱即用

PanSou 網盤搜索API PanSou是一個高性能的網盤資源搜索API服務&#xff0c;支持TG搜索和自定義插件搜索。系統設計以性能和可擴展性為核心&#xff0c;支持并發搜索、結果智能排序和網盤類型分類。 項目地址&#xff1a;https://github.com/fish2018/pansou 特性&#xff08…

java爬蟲實戰

本人目前在做魚皮的《智能協同云圖庫》&#xff0c;涉及到了以圖搜圖圖片爬取&#xff0c;雖然以前有爬過圖片&#xff0c;但是用的都是別人現成的代碼&#xff0c;不怎么去理解為什么要這樣做&#xff0c;這次有在嘗試理解每一個步驟。本人基礎極差&#xff0c;屬于一點基礎也…

深入詳解C語言的循環結構:while循環、do-while循環、for循環,結合實例,講透C語言的循環結構

&#x1f525;個人主頁&#xff1a;艾莉絲努力練劍 ?專欄傳送門&#xff1a;《C語言》、《數據結構與算法》、C語言刷題12天IO強訓、LeetCode代碼強化刷題、C/C干貨分享&學習過程記錄 &#x1f349;學習方向&#xff1a;C/C方向 ??人生格言&#xff1a;為天地立心&#…

北京-4年功能測試2年空窗-報培訓班學測開-第七十四天-線下面試-聊的很滿意但可能有風險-等信吧

今天沒去教室&#xff0c;因為下午有個線下面試。其實是可以去教室的&#xff0c;但我實在太焦慮了&#xff0c;我覺得去了教室我心情會更不好&#xff0c;什么都干不下去&#xff0c;所以我選擇不去早上依舊是帶著滿滿焦慮起來的&#xff0c;會覺得自己的一切都不令自己滿意&a…

在ubuntu服務器下安裝cuda和cudnn(筆記)

目錄 0 引言 1 相關環境查詢 2 安裝cuda 2.1 下載并安裝 2.2 安裝選項配置 2.3 驗證安裝 3 安裝cudnn 3.1 下載 3.2 解壓 3.3 刪除舊版本 cuDNN 3.4 復制新文件到 CUDA 目錄 3.5 設置文件權限 3.6 創建軟鏈接 3.7 驗證安裝 0 引言 我在使用服務器的cuda11.8的時…

docker安裝centos

docker庫地址https://hub.docker.com/ 嘗試使用centos7試了幾次超時 換了個版本就可以了 docker pull centos:centos7.9.2009有時候需要更新資源地址 可以使用 vim /etc/docker/daemon.json配置其他資源地址 {"registry-mirrors": ["http://hub-mirror.c.163…

內容索引之word轉md工具 - markitdown

切分文檔構建RAG庫過程中&#xff0c;langchain、llamaindex更期望處理latex、md類帶有顯式結構文檔。 langchain、llamaindex切分word&#xff0c;有可能將段落中間截斷&#xff0c;導致切分后的塊語義不完整。 所以&#xff0c;需要先將word轉化為md格式&#xff0c;然后再…