程式

為下一代定價庫選擇程式語言

  • October 1, 2018

如果我要開始開發定價庫,哪種程式語言最適合滿足以下需求:

  • 使用 GPU 或任何其他支持硬體的技術實現高度可並行化的定價模型;
  • 合理的維護成本;
  • 為下一代寬客(今天的學生)做好準備。

最少是一個重要的因素。脫離學術環境,博士生還懂C++程式嗎?

沒有一種明確的程式語言可用於此。

正如Attack68所說,一個主要用 Python 編寫的庫,同時利用 Python 用 C 編寫的快速庫將是一個不錯的選擇,原因如下:

  1. 同樣,正如評論所述,有一個龐大的 Python 程序員社區,以及支持所提到的各個庫(numpy、scipy 等)的社區。
  2. Python 是一種非常流行的程式語言,很多人都會使用它。

同樣,沒有一種確定的語言是編寫利用 GPU 硬體或任何其他硬體的庫的最佳選擇。

使用 GPU 或任何其他支持硬體的技術實現高度可並行化的定價模型;

就 GPU 而言,我會研究Nvidia CUDA 庫,它支持 C、C++、Python、Fortran 和 MatLab。也有JavaRC#的綁定。

使用 Nvidia CUDA,您可以建構基於 GPU 的定價庫,為此我個人會使用 C++,但 CUDA 支持 C 和 Python,如上所述。

但是,這裡要注意的另一件事(以及問題中未包含的內容)是一個非常重要的細節:誰將使用該庫,他們將使用它做什麼以及該庫如何將自己與已經非常流行的、有據可查的和社區驅動的量化金融圖書館?流行的開源QuantLib有一個 Python 版本,提供大量支持,任何已經習慣並使用QuantLib for Python 的人都不太可能切換。

…博士生還知道如何用 C++ 程式嗎?

是的,他們當然會。有幾種方法可以找到它,包括簡單的網際網路搜尋。例如,讓我們訪問Caltech Department of Computing & Mathematical Sciences的網站。在加州理工學院獲得 CS 學位的主要部分是 C/C++ 教育,例如,您可以查看CS11的課程目錄。您會看到他們不僅有 C++,而且還有高級 C++。這有點無關緊要,但是鑑於您關於 C++ 是否仍在著名的技術大學教授的聲明,我認為這是必要的。

我會選擇的兩種語言是 C++ 和 Python,而後者利用 Python 的快速 Fortran 庫。

引用自:https://quant.stackexchange.com/questions/41049