python量化交易——金融數據管理最佳實踐——使用qteasy管理本地數據源

文章目錄

  • 統一定義的金融歷史數據表
    • 最重要的數據表
    • 數據表的定義
    • 交易日歷表的定義:
      • 交易日歷表: `trade_calendar`

qteasy是一個功能全面且易用的量化交易策略框架, Github地址在這里。使用它,能輕松地獲取歷史數據,創建交易策略并完成回測和優化,還能實盤運行。 項目文檔在這里。

我們在這里介紹如何使用qteasy管理您的金融數據。這是一篇系列文章,第一篇文章鏈接在這里

在這里插入圖片描述

統一定義的金融歷史數據表

DataTableqteasy內置統一定義的數據存儲表。包括:

最重要的數據表

  • trade_calendar – 交易日歷表,包含了所有交易所的交易日歷信息,包括交易日、交易所代碼、交易所名稱等信息。可以說這是qteasy運行的基礎,如果缺了這張表,qteasy的很多功能都將無法運行或者將降低效率。 qteasy使用這張表中的數據來判斷交易日,如果要下載其他的數據表,通常也必須通過交易日數據表來確定下載的起止日期,因此,這是您應該絕對優先填充的數據表。
  • stock_basic – 股票基本信息表,包含了所有上市股票的基本信息,包括股票代碼、股票名稱、上市日期、退市日期、所屬行業、地域等信息。這張表是很多其他數據表的基礎,例如股票日K線數據表、股票財務數據表等,因此,這也是您應該優先填充的數據表。
  • index_basic – 指數基本信息表,包含了所有指數的基本信息,包括指數代碼、指數名稱、發布日期、退市日期等信息。這張表是很多其他數據表的基礎,例如指數日K線數據表、指數成分股表等,因此,這也是您應該優先填充的數據表。
  • fund_basic – 基金基本信息表,包含了所有基金的基本信息,包括基金代碼、基金名稱、基金類型、基金規模等信息。這張表是很多其他數據表的基礎,例如基金日K線數據表、基金凈值數據表等,因此,這也是您應該優先填充的數據表。

除了上面提到的幾張重要的數據表之外,數據源中還定義了大量的數據表,這些數據表包含了各種各樣的金融數據,包括股票、指數、基金、期貨、期權等各種金融產品的基本信息、日K線數據、財務數據、分紅數據、業績報表、宏觀經濟數據等等,主要分類如下:

  • 行情數據表 – 這類數據表包含了股票、基金、指數各個不同頻率的K線行情數據
  • 基本信息表 – 這類數據表包含了股票、基金、指數、期貨、期權等各種金融產品的基本信息
  • 指標信息表 – 這類數據表包含了各種指標的信息,例如技術指標、基本面指標、宏觀經濟指標等
  • 財務數據表 – 這類數據表包含了上市公司的財務報表數據,包括資產負債表、利潤表、現金流量表等
  • 業績報表表 – 這類數據表包含了上市公司的業績報表數據,包括業績快報、業績預告、業績預測等
  • 分紅交易數據表 – 這類數據表包含了上市公司的分紅數據,以及股票大宗交易、股東交易等信息表
  • 參考數據表 – 這類數據表包含了各種參考數據,例如宏觀經濟數據、行業數據、交易所數據等

數據表的schema信息可以通過DataSource對象的get_table_info()方法獲取:

>>> from qteasy import DataSource
>>> ds = DataSource()
>>> ds.get_table_info('trade_calendar')

數據表的定義

qteasy中,每一張數據表都有以下幾個基本屬性:

  • 數據表用途:表示該數據表的用途,不同用途的數據表可用的操作不同。不同的用途包括:basics表示基本信息表,finance表示財務數據表,report表示業績報表表, reference表示參考數據表等
  • 資產類型:表示該數據表包含的信息屬于哪種資產類型。不同的資產類型包括:E表示股票,IDX表示指數,FD表示基金,FT表示期貨,OPT表示期權等
  • 數據頻率:表示存儲的數據的頻率,不同的數據頻率包括:mins表示分鐘級別數據,d表示日頻數據,w表示周頻數據,m表示月頻數據,q表示季頻數據,y表示年頻數據,none表示無頻率數據
  • 分表信息:對于某些數據表,由于數據量極大,因此需要分表存儲,與分表相關的屬性包括分表數量以及分表字段等
  • 數據表的SCHEMA:數據表的SCHEMA定義了數據表的所有字段和數據類型

數據表的SCHEMA定義了數據表的所有字段和數據類型,SCHEMA各個字段的含義如下:

  • columns – 字段名
  • dtypes – 字段數據類型, varchar表示字符串類型,int表示整數類型,float表示浮點數類型,date表示日期類型,text表示文本類型
  • remarks – 字段備注
  • is_prime_key – 是否是主鍵,Y表示是主鍵,N表示不是主鍵

交易日歷表的定義:

以最重要的交易日歷表為例,它的屬性及SCHEMA定義如下:

交易日歷表: trade_calendar

數據表用途: basics, 資產類型: none, 數據頻率: none

columnsdtypesremarksis_prime_key
0cal_datedate日期: 格式YYYYMMDDY
1exchangevarchar(9)交易所:SSE上交所,SZSE深交所,CFFEX 中金所,SHFE 上期所,CZCE 鄭商所,DCE 大商所,INE 上能源Y
2is_opentinyint是否交易:是:1,否:0N
3pretrade_datedate上一交易日N

從下一篇文章開始,我們將詳細介紹qteasy中定義的所有的數據表

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

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

相關文章

通過 PromptTemplate 生成干凈的 SQL 查詢語句并執行SQL查詢語句

問題描述 在使用 LangChain 和 Llama 模型生成 SQL 查詢時,遇到了 sqlite3.OperationalError 錯誤。錯誤信息如下: OperationalError: (sqlite3.OperationalError) near "sql SELECT Name FROM MediaType LIMIT 5; ": syntax error [SQL: …

STaR(Self-Taught Reasoner)方法:讓語言模型自學推理能力(代碼實現)

STaR(Self-Taught Reasoner)方法:讓語言模型自學推理能力 在大型語言模型(LLM)的推理能力優化中,STaR(Self-Taught Reasoner) 是一種引人注目的技術,屬于“修改提議分布…

Asp.Net Web API| React.js| EF框架 | SQLite|

asp.net web api EF SQLiteReact前端框架 設計一個首頁面,包含三個按鈕分別對應三類用戶(數據查看,設計人員,管理員),當點擊管理員的時候彈出一個前端頁面可以輸入信息(以學生數據為例&#…

[SWPUCTF 2022 新生賽]1z_unserialize

題目描述&#xff1a;是很簡單的反序列化噢 代碼審計看注釋 <?phpclass lyh{ //定義一個類為lyhpublic $url NSSCTF.com;//公共屬性&#xff0c;初始值為NSSCTF.compublic $lt; //公共屬性&#xff0c;沒有初始值public $lly; //公共屬性&…

【數據庫】Update兩階段提交

為什么要兩階段提交 事務提交之后&#xff0c;redo log和bin log 都是需要1持久化到磁盤中&#xff0c;但是這兩個是獨立的邏輯&#xff0c;可能出現半成功的狀態&#xff0c;這樣就造成兩份日志之間的邏輯不一致。如&#xff1a; 以id1&#xff0c;name ‘小明’執行 updat…

【藍橋】排序

1、sort簡介 sort函數包含在頭文件<algorithm>中sort函數使用之前&#xff0c;需要通過#include <algorithm>引入sort函數使用的是快速排列或類似快速排列的改進算法&#xff0c;時間復雜度一般為O(nlog(n)) 2、sort用法 2.1 基礎用法 #include <iostream>…

2024年中國城市統計年鑒(PDF+excel)

2024年中國城市統計年鑒&#xff08;PDFexcel&#xff09; 說明&#xff1a;包括地級縣級市 格式&#xff1a;PDFEXCEL 《中國城市統計年鑒》是一部全面反映中國城市發展狀況的官方統計出版物&#xff0c;包括各級城市的詳細統計數據。這部年鑒自1985年開始出版&#xff0c;…

android 資源selector寫法注意

1、res文件夾下面color文件夾,放的xml <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/color_brand1" android:s…

藍橋杯 燈籠大亂斗【算法賽】

問題描述 元宵佳節&#xff0c;一場別開生面的燈籠大賽熱鬧非凡。NN 位技藝精湛的燈籠師依次落座&#xff0c;每位師傅都有相應的資歷值&#xff0c;其中第 ii 位師傅的資歷值為 AiAi?。從左到右&#xff0c;師傅們的資歷值逐級遞增&#xff08;即 A1<A2<?<ANA1?&l…

商城源碼的框架

商城源碼的框架通常是基于某種Web開發框架或者電子商務平臺來構建的。以下是一些常見的商城源碼框架&#xff1a; WooCommerce&#xff1a;基于WordPress的電子商務插件&#xff0c;適用于小型到中型的在線商店。 Magento&#xff1a;一個功能強大和靈活的開源電子商務平臺&am…

HarmonyOS 5.0應用開發——多線程Worker和@Sendable的使用方法

【高心星出品】 文章目錄 多線程Worker和Sendable的使用方法開發步驟運行結果 多線程Worker和Sendable的使用方法 Worker在HarmonyOS中提供了一種多線程的實現方式&#xff0c;它允許開發者在后臺線程中執行長耗時任務&#xff0c;從而避免阻塞主線程并提高應用的響應性。 S…

避坑!用Docker搞定PHP開發環境搭建(Mac、Docker、Nginx、PHP-FPM、XDebug、PHPStorm、VSCode)

本次更新主要是對環境版本進行了更新&#xff0c;例如php 7.3.7升級到了7.3.8&#xff0c;另外之前的版本有同學踩了坑&#xff0c;主要是官方docker鏡像php:7.3.7-fpm和php:7.3.8-fpm使用了不同版本的debian&#xff0c;后面會提到&#xff0c;請各位同學留意。 因為最近換電腦…

自動化測試開發

4、Servlet模型&#xff08;一&#xff09; Servlet的編寫、訪問過程 Servlet簡介 Servlet是Java Servlet的簡稱&#xff0c;是小服務程序或服務連接器&#xff0c;是用Java編寫的服務器端程序&#xff0c;主要功能在于獲取請求&#xff0c;返回響應廣義&#xff1a;一個Ser…

24、Java 集合

十一章&#xff1a;Java 集合 一、集合框架的概述 1、集合&#xff1a;就像一個容器&#xff0c;可以動態的把多個對象的引用放入容器中。簡稱 Java 容器 ? 說明&#xff1a;此時的存儲&#xff0c;主要指的是內存層面的存儲&#xff0c;不涉及到持續化的存儲&#xff08;.t…

1114棋盤問題acwing(深度優先搜索)

題目描述 在一個給定形狀的棋盤&#xff08;形狀可能是不規則的&#xff09;上面擺放棋子&#xff0c;棋子沒有區別。 要求擺放時任意的兩個棋子不能放在棋盤中的同一行或者同一列&#xff0c;請編程求解對于給定形狀和大小的棋盤&#xff0c;擺放 kk 個棋子的所有可行的擺放…

logback日志輸出配置范例

logback日志輸出配置范例 在wutool中&#xff0c;提供了logback日志輸出配置范例&#xff0c;實現日志文件大小限制、滾動覆蓋策略、定時清理等功能。 關于wutool wutool是一個java代碼片段收集庫&#xff0c;針對特定場景提供輕量解決方案&#xff0c;只要按需選擇代碼片段…

測試人員如何驅動開發?

軟件開發中測試人員的作用正在從傳統的缺陷發現者演變為開發過程的主動推動者。特別是在敏捷和 DevSecOps 環境中&#xff0c;測試人員如何通過參與需求、提供反饋和推動自動化來驅動開發&#xff0c;成為一個值得探討的話題。本文將詳細分析測試人員驅動開發的具體方式&#x…

大模型語料庫的構建過程 包括知識圖譜構建 垂直知識圖譜構建 輸入到sql構建 輸入到cypher構建 通過智能體管理數據生產組件

以下是大模型語料庫的構建過程&#xff1a; 一、文檔切分語料庫構建 數據來源確定&#xff1a; 首先&#xff0c;需要確定語料庫的數據來源。這些來源可以是多種多樣的&#xff0c;包括但不限于&#xff1a; 網絡資源&#xff1a;利用網絡爬蟲技術從各種網站&#xff08;如新聞…

oracle游標為什么沒有共享,統計一下原因

-- Script Code為什么沒共享 define sql_id bs391f0yq5tpw;set serveroutput onDECLAREv_count number;v_sql varchar2(500);v_sql_id varchar2(30) : &sql_id; BEGINv_sql_id : lower(v_sql_id);dbms_output.put_line(chr(13)||chr(10));dbms_output.put_line(sql_id: ||…

哈希碰撞攻防戰——深入淺出Map/Set的底層實現

各位看官早安午安晚安呀 如果您覺得這篇文章對您有幫助的話 歡迎您一鍵三連&#xff0c;小編盡全力做到更好 歡迎您分享給更多人哦 今天我們來學習Map/Set的底層實現 目錄 問題一&#xff1a;hash會出現負數&#xff1f;數組越界 一&#xff1a;什么是二叉搜索樹&#xff1f…