傳送門:
1.敘述性統計與推論性統計
- 敘述性統計
有系統的歸納資料,瞭解資料的輪廓
對資料樣本做敘述性陳述,例如:平均數、標準偏差、計次頻率、百分比
對資料資料的影像化處理,將資料摘要變為圖示表 - 推論性統計
資料模型的建構
從樣本推論整體資料的概況
相關、迴歸、單因子變異數、因素分析
1.敘述性統計
1.我們一般有三種方式進行敘述性統計
- 對大多數資料進行分析,80%都是在於如何加總與平均
eg:- 銷售份額
- 客戶數量
- 業績成長量
- 使用SQL做敘述性統計(通過加入限制條件得到我們需要的資料)
select * from tb1 where col1 >= 100 limit 3
複製程式碼
2.如何運算元據
- 運算元據我們常常需要
- 分割資料(Split)
- 轉換資料(Transformation)
- 聚合資料(Aggregation)
- 探索資料(Exploration)
- 需要如同SQL的語法去運算元據
首先我們需要安裝pandas_datareader,pip install pandas_datareader
,pandas_datareader是一個遠端獲取金融資料的Python工具,它提供了下面幾個機構的資料。-
Yahoo! Finance:雅虎金融
-
Google Finance:谷歌金融
-
Enigma:Enigma是一個公共資料搜尋的提供商
-
St.Louis FED (FRED):聖路易斯聯邦儲備銀行
-
Kenneth French’s data library:肯尼斯弗蘭奇資料庫
-
World Bank:世界銀行
-
OECD:經合組織
-
Eurostat:歐盟統計局
-
Thrift Savings Plan:美國聯邦政府管理離退休的組織
-
import pandas_datareader
pandas_datareader.DataReader(name, data_source=None, start=None, end=None, retry_count=3,
pause=0.001, session=None, access_key=None)
複製程式碼
- name:股票名稱
- data_source:資料來源,可以是雅虎,谷歌等等
- start:開始日期
- end:截止日期
- retry_count: 如果斷開連線重新連線幾次
- pause:抓取資料的中間是否需要停頓
- session:是否需要加入session
- access_key:如果介面需要提供access_key,則此項需要填
#2.進行讀取相關資料
丘老師是使用pandas_datareader.DataReader
來讀取的雅虎提供的阿里巴巴股票資料,現在雅虎已經被棄用。這裡我使用Tushare
來讀取金融資料。
Tushare是一個免費、開源的python財經資料介面包。
import tushare
# 獲取大盤指數實時行情列表
df = ts.get_index()
# 檢視後五行
df.tail()
複製程式碼
備註:返回值說明
- code:指數程式碼
- name:指數名稱
- change:漲跌幅
- open:開盤點位
- preclose:昨日收盤點位
- close:收盤點位
- high:最高點位
- low:最低點位
- volume:成交量(手)
- amount:成交金額(億元)
# 檢視列
df.columns
複製程式碼
1.做一些簡易的統計
- 針對單列進行統計
- 算出總和:
df[`volume`].sum()
- 算出平均:
df[`volume`].mean()
- 算出標準差:
df[`volume`].std()
- 取得最小值:
df[`volume`].min()
- 取得最大值:
df[`volume`].max()
- 取得筆數:
df[`volume`].count()
- 算出總和:
- 針對多列進行統計
# 取得最低開盤點位,最低收盤點位
df[[`open`, `close`]].min()
複製程式碼
2.取得整體敘述性統計
df.describe()
複製程式碼
3.計算當日大盤指數當日漲跌次數
- 計算當日漲跌
df[`diff`] = df[`close`] - df[`open`]
df[`rise`] = df[`diff`] > 0 # 漲
df[`fall`] = df[`diff`] < 0 # 跌
複製程式碼
- 計算漲跌次數
df[[`rise`, `fall`]].sum()
複製程式碼