回覆列表
  • 1 # 自可樂

    Quant 中經常會用到很多機器學習和最佳化演算法,很多演算法比如說常用的蒙特卡洛模擬方法能夠很自然地並行實現,如果採用平行計算則必然能夠極大地提高計算效率,加快計算時間,更快地作出決策和發出交易指令,更好地抓住稍縱即逝的機會,這對進行高頻交易尤其有用。另外如今的金融資料量也越來越大,適當地將資料分佈到多個計算節點或者多個處理器上,能夠降低對單臺計算節點或者單個處理器的效能要求,也能降低對機器記憶體、網路頻寬等其他資源的需求。

    目前做 Quant 非常常用的是 Python 程式語言,如國外最流行的 Quantopian,國內的 JoinQuant,uqer 等都使用的是 Python 語言。用 Python 做平行計算的途徑有很多,比如說使用標準庫中的 [threading 模組](https://docs.python.org/2/library/threading.html)進行執行緒級別的並行,[multiprocessing 模組](https://docs.python.org/2/library/multiprocessing.html)進行程序級別的並行,[concurrent.futures 模組](https://docs.python.org/3/library/concurrent.futures.html)實現非同步並行,使用 [IPython.parallel 模組](https://ipython.org/ipython-doc/3/parallel/index.html)進行多種方式的並行,使用 [mpi4py 包](https://pypi.org/project/mpi4py/)進行 MPI 訊息傳遞平行計算,等等。如果可以使用 C/C++,Fortran 或者使用 cython 為 Python 編寫擴充套件模組,還可以使用 OpenMP 並行。我的個人[簡書專題](https://www.jianshu.com/c/5019bb7bada6)和 [CSDN 部落格專欄](https://blog.csdn.net/column/details/26248.html)中有對用 Python 做平行計算的專門介紹並提供了大量的程式例項。有需要或者感興趣的可以瞭解下。

  • 中秋節和大豐收的關聯?
  • 哺乳期的媽媽如何進行乳頭的保護?