日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【easyTrader源码分析1】源码结构梳理

發布時間:2024/3/26 编程问答 106 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【easyTrader源码分析1】源码结构梳理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

開篇

簡單說一下為什么想寫這個系列:

  • 我個人對自動化交易比較感興趣,他山之石,可以攻玉,搞清楚easyTrader,就搞清楚了市面上大部分自動交易方法。
  • 實踐是檢驗真理的唯一標準,一個無法實盤的量化交易系統,相當于一位紙上談兵的將軍。
  • 網絡上有很多成熟的組合,不管是量化還是非量化的,都可以通過程序實現follow(跟單)。
  • 希望能實現自己的自動化交易系統,實現并擴展其功能。
  • 項目概況

    • 【Github地址】https://github.com/shidenggui/easytrader
    • 【項目作者】食燈鬼
    • 【項目簡介】提供同花順客戶端/國金/華泰客戶端/雪球的基金、股票自動程序化交易以及自動打新,支持跟蹤 joinquant /ricequant 模擬交易 和 實盤雪球組合, 量化交易組件。

    下載項目源碼

    下載easyTrader源碼

    git clone git@github.com:shidenggui/easytrader.git

    可以看到,項目中第一層結構有很多文件及文件夾,而核心源碼,其實是在easytrader這個文件夾中,其他的都是各種項目配置文件及文檔,所以,我們聚焦真正的源碼文件夾easytrader。

    源碼量

    我們用VScode Counter插件,統計下整個代碼量。33個文件,31個Python源文件,2個JSON配置文件。純代碼2889行,注釋620行,空行677行,代碼量不算大,在可讀范圍內。

    再來逐一看一下每個文件的代碼量,純代碼大于100行的文件只有6個,其他的都小于100行,閱讀難度不算太大。

    源碼目錄

    我們打開easytrader文件夾看一下結構,使用tree工具查看項目結構如下,我們先大致逐一解釋下每個文件的用途,后邊文章再每個詳細分析。

    ├── config # 配置文件夾 │ ├── __init__.py # 子模塊入口,空文件 │ ├── client.py # 定義各種不同客戶端需要的常量 │ ├── global.json # 全局字段配置 │ └── xq.json # 雪球各種地址 ├── utils # 工具文件夾 │ ├── __init__.py # 子模塊入口,空文件 │ ├── captcha.py # 驗證碼識別 │ ├── misc.py # 數據格式轉換 │ ├── perf.py # perf_clock函數裝飾器 │ ├── stock.py # 股票相關輔助函數 │ └── win_gui.py # 輸出pywinauto內的幾個對象 ├── __init__.py # 包入口文件,輸出一些方法 ├── api.py # 兩個核心api:use和follower ├── clienttrader.py # 客戶端交易基類 ├── exceptions.py # 異常處理 ├── follower.py # 跟單基類 ├── gf_clienttrader.py # 廣發客戶端交易 ├── gj_clienttrader.py # 國金客戶端交易 ├── grid_strategies.py # 網格策略 ├── ht_clienttrader.py # 華泰客戶端交易 ├── htzq_clienttrader.py # 海通證券客戶端交易 ├── joinquant_follower.py # 聚寬跟單 ├── log.py # 日志 ├── pop_dialog_handler.py # 彈窗操控 ├── refresh_strategies.py # 各種刷新策略 ├── remoteclient.py # 遠程客戶端 ├── ricequant_follower.py # 米筐跟單 ├── server.py # 遠程服務端 ├── universal_clienttrader.py # 通用同花順客戶端交易 ├── webtrader.py # 雪球web版 ├── wk_clienttrader.py # 五礦客戶端交易 ├── xq_follower.py # 雪球跟單 ├── xqtrader.py # 雪球模擬交易與實盤 └── yh_clienttrader.py # 銀河客戶端交易2 directories, 33 files

    功能點總結

    初步過了一遍每個文件,可以將功能總結為幾個部分:

  • 客戶端自動化交易:clienttrader.py,gf_clienttrader.py,gj_clienttrader.py,ht_clienttrader.py,htzq_clienttrader.py,universal_clienttrader.py,wk_clienttrader.py,webtrader.py,xqtrader.py
  • 量化平臺跟單:follower.py,joinquant_follower.py,ricequant_follower.py,xq_follower.py
  • 遠程部署:server.py,remoteclient.py
  • 其他輔助功能:config,utils ,api.py,exceptions.py,log.py,pop_dialog_handler.py,refresh_strategies.py,grid_strategies.py
  • 結語

    本篇基本梳理清楚了easyTrader的源碼結構和功能,后面文章逐一分析各個部分。

    總結

    以上是生活随笔為你收集整理的【easyTrader源码分析1】源码结构梳理的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。