Pandas和Numpy的一些金融相關的操作 一

2022-06-07 06:18:09 字數 776 閱讀 4056

# arr是乙個淨值的np.ndarray

i = np.argmax(

(np.maximum.acumulate(arr) - arr) / np.maximum.acculate(arr))

if i == 0:

max_draw_dowm = 0

else:

j = np.maximum(arr[:i]) # 開始位置

max_draw_down = (arr[j] - arr[i]) / arr[j]

# i為回撤結束位置 j為回撤開始位置

# 可以用動態規劃解決最小子列和的思路求出最大回撤 時間複雜度為o(n)

# net_value是乙個淨值的pd.series 按照時間排序 較早的時間在前面

daily_return = net_value.pct_change()

# daily_return是乙個日收益率的pd.series 按照時間排序 較早的時間在前面

_net_value = (daily_return + 1).cumprod() # 這時候第乙個值還不是1

net_value = _net_value / _net_value.iloc[0]

# net_value是乙個淨值的pd.series 按照時間排序 較早的時間在前面

cum_return = net_value / net_value.iloc[0] - 1

numpy的一些用法

安裝numpy windows安裝pip即可,具體方法參考pip官網 安裝方法 pip install numpy 1.14.3 cp27 none win amd64.whl 功能介紹 ndarray ndarray具有多維性。ndarray的元素可以通過索引的方式進行訪問。在numpy中,nda...

pandas的一些用法

讀取以 t為分隔符的不帶volume的資料names a b c d e f g df pd.read table filename sep t names names 刪除df中某一行df.drop labels none axis 0,index none columns none level ...

pandas的一些誤區

data frame pd.dataframe data in 13 frame.iloc 6 1,asf 201 這一行會報錯indexerror single positional indexer is out of bounds in 14 frame.loc 6 1,hh 612 正確新增一...