Re: [問題] C#比JAVA適合做程式交易嗎?

看板Trading作者 (阿弟牯)時間6年前 (2017/07/06 00:16), 編輯推噓9(901)
留言10則, 11人參與, 最新討論串2/2 (看更多)
※ 引述《chema (chema)》之銘言: : 這問題對板上程式高手們,可能覺得很菜 : 但還是希望大家指教一下。 : 我目前從事交易員,因為有些交易模型在既有MC架構做不到 : 所以學習其他語言是必須的。這幾天有去補習班詢問C#的課程, : 她們建議我學JAVA,可是我問了身邊做交易的人,多半用C#, : 似乎沒有聽過使用JAVA在建構交易系統的 : 由於我是文科背景出身,對於各個程式語言的認識不是很多, : 所以好奇程式交易上,使用C#的人數較多的原因是什麼? 要分 API 跟演算法兩部份 1、API 基本上,您只能從 Broker 有提供的 API 語言中,選一個 (也可能是協定,例如 REST,那就不限定語言了) 不外乎 Java、C++、C# 跟 Python 怎麼選? 有 Python 選 Python,沒有就依序選 C# Java C++ 但不要花太多時間去學這部份的語言,API 只是要讓您的程式可以跟 Broker 做溝通 可以看的懂跟會稍微修改 Broker 提供的範例就好 2、演算法 基本功,要好好學 怎麼選? Python,沒有之二,這廝演算法交易 (或說資料科學) 相關的資源太多了 除了基本語法外,先熟悉 NumPy (資料格式)、Pandas (資料處理) 跟 Scikit-learn (機器學習) 這三個套件 已經可以用傳統的機器學習做許多嘗試 再進階,可以試試 Deep Learning (深度學習) 好的是,深度學習一些主流開發框架例如 TensorFlow,也是以 Python 做前端 所以一開始就熟悉 Python 會更容易上手 那如果,演算法的語言跟 API 的語言不同,怎麼串接? 簡單一些,演算法就寫成 Console 程式,Java、C++ 或 C# 都可以呼叫 Console 程式做溝通 例如丟 10 根 k 棒的數據給 Console 程式,Console 程式輸出 sell or buy or ... 給 Java、C++ 或 C# 進階一些,可以寫成 Client Server 架構,概念上就是用一些網路協定做溝通 Socket、Thrift 或 gRPC ... 都可以做到 但最佳解其實是直接呼叫,大多也都找的到解法 例如 google:calling python from c# .net 回到最後的問題,程式交易上,使用 C# 的人數較多的原因是什麼? 我想是因為蠻多 Broker 提供的 API 中都有 C# 的選項,但 C# (或 Broker 選用的 API 語言) 是不是就適合發展演算法? 我想不一定,如前面提到的,API 只是要讓您的程式可以跟 Broker 做溝通 Broker 選用的 API 語言常常只是因為它們適合做溝通 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.73.138.22 ※ 文章網址: https://www.ptt.cc/bbs/Trading/M.1499271413.A.8E6.html

07/06 01:30, , 1F
專業
07/06 01:30, 1F

07/06 07:26, , 2F
07/06 07:26, 2F

07/06 16:57, , 3F
推推
07/06 16:57, 3F

07/06 23:20, , 4F
C#能直接呼叫python 3?
07/06 23:20, 4F

07/07 23:38, , 5F
回樓上,你寫個batch檔call python再用C#去執行batc
07/07 23:38, 5F

07/07 23:38, , 6F
h不就好了
07/07 23:38, 6F

07/08 12:43, , 7F
呼叫越多層會不會有時間差的問題?
07/08 12:43, 7F

07/08 18:01, , 8F
C#有processstart可以用 直接透過cmd跑python檔
07/08 18:01, 8F

07/10 18:07, , 9F
可以用matlab call c#的api嗎?
07/10 18:07, 9F

08/03 19:17, , 10F
好文 感謝分享
08/03 19:17, 10F

, , 11F
亂版!

, , 12F
分身亂版!
文章代碼(AID): #1PNH3rZc (Trading)
文章代碼(AID): #1PNH3rZc (Trading)