① 炒股軟體使用的資料庫類型和架構詳解
炒股軟體通常使用的資料庫類型主要包括關系資料庫和非關系資料庫,其架構則可能涉及單機架構、集群架構和分布式架構。
一、資料庫類型
關系資料庫:
非關系資料庫:
二、架構類型
單機架構:
集群架構:
分布式架構:
綜上所述,炒股軟體在選擇資料庫類型和架構時,需要根據自身的業務需求和數據特點進行綜合考慮。
② 200倍速!基於HDF5的量化數據存儲方案
基於 HDF5 的量化數據存儲方案,是個人交易者最合適的入門選擇。其優越性在於,HDF5 可以高效處理大量數據。Kesheng Wu 等人的研究顯示,處理 2007 年至 2012 年間 30 億條期貨交易數據,CSV 文件需要 142 秒,轉換為 HDF5 後僅需 0.4 秒,提升達 200 多倍。
HDF5 是一種設計用於存儲和處理大容量科學數據的文件格式及庫,最早由 NCSA 研發,現由 HDF Group 維護。HDF5 支持科學數據集和群組兩種類型。作為量化交易者,常使用 h5py 庫進行 HDF5 文件操作。
使用 h5py 可以將行情數據按照周期頻率存儲於不同群組內,利用證券代碼作為數據集的鍵。h5py 的基本操作包括:使用群組表示數據結構,數據集表示數組,API 操作簡單。為實現每日更新數據,需將從 omicron 獲取的行情數據,將 np.datetime64 類型轉換為 epoch 時間保存。新增數據通過切片語法追加,使用 h5py 的 get、create_dataset 和 resize 方法。
對於存儲結構,查詢橫截面數據時速度較慢,可以考慮存儲證券代碼以加快查詢。但這種方法會增加數據集大小,影響查詢速度。設計時應綜合考慮兩種場景的使用佔比。
如果感覺 h5py 性能不足,可嘗試 Parallel HDF5,通過指定在 pip 安裝時使用源碼編譯,以獲得並行計算能力。官方文檔及教程常避談技術的缺點,但重要的是全面了解技術,避免選錯技術導致浪費時間。解決性能問題的方法包括數據切分、使用 bitmap 索引、或結合 modin 和 parquet 等技術。
使用 HDF5 存儲量化數據的優勢包括讀寫速度快、支持大容量數據、靈活的數據結構等。HDF5 對於個人交易者而言,是一種高效、可靠的存儲方案。對於需要處理分鍾級數據並保持高效查詢速度的情況,pyarrow + parquet 可能是更好的選擇,將在後續文章中介紹。
③ 同花順每日行情數據下載完成後存儲文件夾
同花順每日行情數據下載存儲方法是:
1、打開股票軟體;
2、點擊上方【系統】,在下拉菜單中選擇【數據導出】;
3、選擇下載格式:【格式文本文件】、【Excel文件】、【圖像文件】,選定後點擊【滬深高級導出】;
4、選擇【日線導出】,在【導出目錄】中選擇存儲文件夾,自己擬定文件名;
5、點擊【添加品種】,選擇要導出的數據,點擊【確定】,關閉該頁面,點擊【開始導出】即可。