2017年12月3日 星期日

AxisTradeCult 開發日誌 (1)

先抱怨一句:  花了一禮拜, 總算是把Overview這一頁刻完了, 真是他X的有夠累OTL

呼...決定開發這套交易輔助軟體後, 當初是希望自己能1~2個月內完成初版, 為了不要讓自己怠惰+半途而廢, 所以這次開發的過程會以1~2禮拜為基準寫一次開發日誌, 紀錄的同時也可以檢視自己做了哪些功能, 還有什麼需求等等, 提早想到就可以避免之後大規模砍掉重練!!

實際上一開始光是煩惱要用C# + .NET框架還是用Python + 其他GUI套件就煩惱兩天了, C#因為算是很熟練了, 所以可以快速開始進行, 可是以這軟體的需求來說, Python比C#適合多了, 所以最後還是選擇以Python開發 (以前只用過Python寫學校作業, 抖抖...)。 而Python可以用的GUI套件中, 最後決定選擇PyQt, 畢竟Qt C++已經發展得很成熟, 移植版的pyQt應該不可能差到哪裡去, 而且.....我絕對不想用程式去部屬所有GUI的控件阿, 光是調layout就不知道要調到西元幾年了, 當然要選擇可以用視覺化工具拉UI控件的GUI工具阿!!


下圖為這禮拜的開發成果, 沒想到光是這一頁就可以搞我快一個禮拜, 雖然是從零開始摸Qt, 不過真的沒想到這麼難搞(有些QWidget定義的function不知道為什就是不能用, 或是一直在找不同套件之間的資料格式轉換方法, 所以就是一直Google loop...)。




目前完成的功能如下:
  • 程式自動取得關注個股的歷史資訊 (每日的開盤, 收盤, 最低, 最高, 成交量, 調整收盤價, etc...) [資料來源: Quandl]
  • Stocks Overview頁面 (可新增, 移除個股至群組, 可依選擇時間顯示個股資料, 也會計算該天前3個月平均價&成交量以及一年成交價區間)
待完成項目:
  1. 各種技術分析線圖組合分析 (MA, KD, RSI, MACD...)
  2. 提供機器學習模型預測
    • 自動取得、生成個股的基底、衍生特徵
    • 支援各類機器學習算法
    • 提供回歸測試模型預測率以及調適最佳參數
    • 提供增強式學習進行策略模擬

可能還有其他需要的功能不過還沒想到的, 不過那也只能有想到在加上去了, 另外資料來源除了從Quandl取得之外, 還想再多取Yahoo財經的資料, 因為Quandl的資料好像都只找到普通個股, ADR的部分好像都載不到...。

會選Quandl除了因為只要打個web request就能載csv很方便之外,  最主要還是它的資料都包含了調整後的成交價以及成交量,  這樣之後在處理機器學習的資料時, 就不用煩惱除權息, 股票分割要怎麼調整資料這類難搞問題了。

才第一個禮拜就覺得好累阿,  畢竟每天下班大概也只能花2小時左右寫程式 (而剩下的時間則是被三款手遊綁架...), 而大部分的時間都是耗在Qt上, 如果自己K英文資料的能力能再強一點就好了囧  不然就是有個藍髮的女神幫我加個Blessing也好哪XD

5 則留言:

  1. 不明覺厲!! 作者大大加油!!

    回覆刪除
  2. zmcx16太強了(一拜),但入教就算了。(沒有超高幸運基本上是找死)

    不知道AxisTradeCult會不會開放下載?
    如果有,請加入可import / export 投資記錄的csv的功能
    (如google finance Portfolios,在11月底剛砍了Orz)

    回覆刪除
    回覆
    1. 哈囉, 做到一個階段性後會放到github上開源出去, 投資組合預計做在第二個分頁上 (目前投資組合, 報酬率 + 圓餅圖),投資紀錄除了純紀錄資料以外, 也有想多做個分析的功能, 不過還沒特別有想法要做什麼, 這個就之後在想XD

      最主要想要的功能還是機器學習技術分析以及回測功能, 希望我能在2~3個月做到一個階段性完工的程度~~

      刪除
    2. 題外話, 不加入阿克西斯教也歡迎加入雷姆教喔XDD

      刪除