0004python金融量化初入門

YEAHZERO發表於2024-06-08


>Date:2024.04.24
>Keywords:

在量化投資(證券和比特幣)開源專案裡,全球star數排名前10位裡面,有7個是Python實現的。從資料獲取到策略回測再到交易,覆蓋了整個業務鏈。
而全球註冊使用者數最多的商業量化平臺Uqer優礦,也同樣是基於Python實現和提供服務的。國內後來的其他量化平臺,例如ricequant和joinquant,也主推Python環境。
#### anaconda
[Anaconda](https://www.anaconda.com/download-success),這是python的一個科學計算環境,它不僅把python需要用到的科學計算資料分析的“模組包”包含在內,還直接內嵌安裝了了python和Ipython。也就是說,你安裝了它,就不需要在單獨安裝python和相關模組了。
(python+pandas+lxml)
使用spyder
```
左邊是負責程式編寫
import numpy as np
sh600340=np.array([38.60,39.87,37.70,38.43])
print(sh600340)

console:輸出陣列
還可以輸入sh600340[[1]],查詢某項資料

右上方會對程式中產生的各種變數、陣列等要素進行羅列
variable explorer:雙擊sh600340這個變數,則會跳出來他的具體內容。

```
使用pandas
>Pandas也是一個科學運算包,它是建立在Numpy之上的,但是Pandas最大的特點是可以建立更靈活的資料結構,在這個資料結構中,不僅有資料,還有可編輯的索引值。
DataFrame實質上就是一個多維的Series,只不過這些Series共用了一個index而已。
#### 工具
主要得益於有如下框架和工具的支援:

**Numpy**:底層基於C實現的科學計算包

-具有強大的N維陣列物件Array

-具有資料廣播功能的函式庫

-具有完整的線性代數和隨機數生成函式

**SciPy**:開源演算法和數學工具包

-最最佳化線性代數、積分、插值、特殊函式

-快速傅立葉變換

-訊號處理和影像處理

-常微分方程求解

-其他科學與工程中常用的計算


其功能與Matlab和Scilab等類似。


**Pandas**:起源於AQR的資料處理包,具有金融資料分析基因

-基於Series、DataFrame和Pannel多維表結構資料

-資料自動對齊功能

-資料清洗和計算功能

-時間序列資料快速處理功能

**Matplotlib**:基於Python的資料繪圖包,能夠繪製出各類豐富的圖形和報表。另外,Python在機器學習領域的應用也越來越多,其中的開源的專案包括了scikit-learn、Theano、Orange等。


#### 書籍
- 《Python for Data Analysis》

- 《Python for Finance》

- 《Mastering Python for Finance》

- 《Maching Learning in Action》
#### 步驟
從本地csv格式的檔案中匯入股票資料
計算
將計算好的資料輸出到csv檔案中

相關文章