計算機是專門用於計算的機器,而程序就是要告訴計算機,進行怎樣的計算。本質上來說,對於計算機程式語言而言,無論是C系列也好,還是Java系也好,又或者是我們現在學的python,沒有誰優誰劣,只有誰更合適。
如果你是要寫一個作業系統,比如寫個「中dows」,那這邊建議你使用C語言和彙編,因為它們可以直接操作硬體。當然你想做個智能手錶,搞個嵌入式軟體也都是C為主的天下。另外,windows的內核就是用C和彙編寫的。但是在全民編程的時代,作為我們這種半路出家的小白,想要進行量化類的應用,Python絕對是再合適不過了-你想要的功能,幾乎都有前輩給你造好了零件,你只需要拼裝出你喜歡的車就行-一切皆樂高。
在進行量化分析時,我們其實就是在對數據進行收集、整理、分析,然後預測和判斷,再進行相關的決策,之後進行監督和反饋。這些過程無一不是在對數據進行運算。在python 中,主要包括以下幾類運算:
賦值運算算術運算比較運算邏輯運算按位的邏輯運算成員元素身份運算運算優先級1、賦值運算就相當於是寫標籤和貼標籤的過程。要進行賦值運算,我們先要有一個標籤名,比如stock_price,賦值就是在stock_price標籤上寫上一個數9.8,並同時把標籤貼到裝著9.8這個數的抽屜上。賦值語句使用等號 「=」,表示為 stock_price = 9.8 。賦值運算符「=」會把一行語句分成左右兩部分,把右邊的結果賦給左邊的標籤。右邊可以是一個具體的值,也可以是一個過程,該過程的結果將被賦值給左邊標籤。
2、算術運算我們之前的內容其實一直在使用,我們最常見的加減乘除符號和自然語言是一樣的,但是要注意計算機鍵盤沒有,所以用「/」代替,同理用「*」號代替。除了最基礎的加減乘除外,python還提供了另外兩個特殊的除法運算:求餘和取整。求餘就是獲得除了之後的餘數,而取整是取得相除之後的整數部分。另外,計算開方時用兩個*表示。
注意,使用「//」獲得除法結果的整數部分時,它是往下取的整數,如上圖紅色部分所示。
3、比較運算,我們也經常使用,一般用作判斷:如果股票A的價格大於多少就怎樣。這裡面就有比較,比較運算符如下:
比較的結果如果為真,就會返回True(1),如果不成立,就會返回假(0)。
注意區分賦值運算符」=「與比較運算符「==」。
4、邏輯運算符,進行邏輯運算,也就我們常見的都成立、都不成立、其中一個成立等情況的判斷。邏輯運算要分成兩種情況,一種是bool型數據的邏輯運算,一種是非bool型的邏輯運算。
and 是有0則0,從左到右找0,找到了0就是不成立,直接返回不成立,不管後面的東西;or 是有1則1,從左到右找1,找到了1就成立,返回成立,不管後面的東西。
5、按位的邏輯運算,就是將數據表示為二進位位之後,在對應位上進行邏輯運算。也遵循與、或、非的基本原則。按位操作我們遇到的應該並不多。
6、成員運算,由於現在還沒有學數組之類的數據,可能不好理解。成員運算符的符號是in,就是判斷某一個成員有沒有在某組數據裡面。通常結合邏輯 not 判斷沒有在裡面。
7、身份運算,身份運算就是判斷兩個標籤是不是掛在了同一個抽屜上,標識符為 is ,同樣可以與 not 搭配。
這裡有一個問題需要注意,「==」比較的是兩個標籤對應抽屜裡面的東西是不是一樣,而「is」比較的是兩個標籤是不是掛到了同一個抽屜上。
8、運算優先級,python基本上遵循先加減、後乘除、再開方,最後賦值的優先級,但是我們可以用小括號強制改變優先級。
一門語言的內容會非常多,即便撿那些重要的內容,我們也很難全記住。所以,重要的不是記住全部,而是知道有這個東西,用到的時候再查詢資料就好了。等我們用得多了,那些常用的自然也就記得了。
下次給大家分享一個的小案例 「隨機生成權重買入不同股票,計算各個權重下組合的收益和方差(風險)」,並畫出收益和方差分布,有點像馬科維茨有效前沿,記得來圍觀哦!
相關文章(關注gzhh:CFArabbit獲取更多內容)
Python3 量化分析筆記從小白到破產-編程環境準備
Python3 量化分析筆記從小白到破產-學習路線規劃
Python3量化分析從小白到破產-基本的代碼編寫規範
CFA一級財報分析-財務報告質量
CFA一級財報分析-長期資產
CFA一級財報分析-企業所得稅
Python3量化分析從小白到破產-變量與基礎數據類型