python 量化交易日常積累 2019 1 22

2021-09-10 03:38:01 字數 1833 閱讀 8750

可以把列表合併成乙個元組的列表。再用list轉化之後使用。

a = ['a', 'b', 'c']

b = ['1', '2', '3']

s = list(zip(a, b))

print(s)

從檔案中讀取資料。

with open(filename, "rb") as f:

t = np.fromfile(f, dtype=dt)

dt 包含要從檔案中獲取的資料名以及型別。

例如:

[('min', 'i'),('code', 'i')]
ps -ef|grep pycharm

kill -9 143883 後面為程序號

highdf.rolling(5).corr(rankv)
計算前5天內的highdf和rankv的相關係數。

rolling_mean、rolling_max、rolling_min、等函式的實現:分開進行

volumedf.rolling(20).mean()

(vwapdf - closedf).rolling(3).max()

(vwapdf - closedf).rolling(3).min()

rolling_rank 當前資料在五天內資料的排位。

例子為:序列末尾資料在5天的資料內的排位。

highdf = pd.read_csv('high.csv', index_col=0)

opendf = pd.read_csv('open.csv', index_col=0)

delta = (opendf*0.85 + highdf*0.15).diff(periods=4)

ones = pd.dataframe(np.ones([465, 244]))

ones.columns = delta.columns

ones.index = delta.index

nones = pd.dataframe(-np.ones([465, 244]))

nones.columns = delta.columns

nones.index = delta.index

zeros = pd.dataframe(np.zeros([465, 244]))

zeros.columns = delta.columns

zeros.index = delta.index

dfp = ones[delta > 0]

dfz = zeros[delta == 0]

dfn = nones[delta < 0]

temp = dfp.combine_first(dfz)

df = temp.combine_first(dfn)

建乙個零,一,和負一矩陣。然後通過條件找到符合條件的索引,帶入矩陣就可以得到對應位置的0、1、-1。

然後再把這三個矩陣用combine_first()組合起來。

注意中間有乙個把ones和delta的index以及columns名字設定為相同的操作,不然dataframe的名字不一樣會導致得不到正確的結果。

redis 包的import出錯,顯示no module named 'redis',解決方法:

第一步: 用把conda安裝的redis解除安裝掉。

conda remove redis
第二步:然後用pip in install redis安裝

pip install redis

00 Python 量化交易 前言

首先,本教程適合對程式設計有一定的基礎,學過c或c 之類的,只需要依稀還記得一些概念和流程就行 而所謂的量化交易,通俗地講,就是程式 等,當然,如果你沒有接觸過 也沒有任何關係。其次,這個教程的目標是熟練掌握python的基本語法,使用python進行檔案處理 excel等 爬蟲爬取資料,使用pyt...

opencv學習的日常積累(2)

6 計算輪廓的周長,刪除輪廓 int arclength contours i ture ture是閉合,false是開的 itr contours.erase itr 7 幾個常用函式的區別 pow double x,double y 返回值為double powf double x,double...

Python 點滴積累(2)

1.使用方法修改字串的大小寫 name ada lovelace print name.title ada lovelace print name.upper ada lovelace print name.lower ada lovelace2.合併字串 name ada lovelace pri...