theme: smartblue 最近在做交易數(shù)據(jù)的統(tǒng)計分析時,多次用到數(shù)據(jù)行之間的一些操作,對于其中的細節(jié),簡單做了個筆記。 1. shfit函數(shù) shift函數(shù)在策略回測代碼中經(jīng)常出現(xiàn),計算交易信號,持倉信號以及資金曲線時都有涉及。這個函數(shù)的主要作用是將某列的值上下移動。默認情況下,shift函
最近在做交易數(shù)據(jù)的統(tǒng)計分析時,多次用到數(shù)據(jù)行之間的一些操作,對于其中的細節(jié),簡單做了個筆記。
在策略回測代碼中,
shift
函數(shù)經(jīng)常出現(xiàn),用于計算交易信號、持倉信號以及資金曲線。這個函數(shù)的主要作用是將某列的值上下移動。默認情況下,
shift
函數(shù)是向下移動一行,移動后,新數(shù)據(jù)列的第一行數(shù)據(jù)用
NaN
(空值)填充,原始數(shù)據(jù)列的最后一行丟棄。
也可以在
shift
函數(shù)中指定移動的行數(shù)。指定的行數(shù)為負值時,表示向上移動,此時,下面的部分用
NaN
填充。在使用
shift
之后,一般會在首部/尾部產(chǎn)生
NaN
空值,根據(jù)情況看是否需要進一步處理。
在交易數(shù)據(jù)分析中,
shift
函數(shù)常用于計算交易信號和持倉信號。
shift
函數(shù)還是比較好理解的。為了簡化,創(chuàng)建兩個測試數(shù)據(jù)。把一個數(shù)據(jù)集的某一列賦值給另一個數(shù)據(jù)集時,
pandas
會自動比較兩個數(shù)據(jù)的索引,只賦值具有相同索引的行。
不同行數(shù)的兩個數(shù)據(jù)集互相賦值時,是根據(jù)兩個數(shù)據(jù)的索引來匹配賦值的。這時,再回頭看計算交易信號的代碼,雖然經(jīng)過過濾之后,行數(shù)比數(shù)據(jù)集要少,但是過濾之后的每行數(shù)據(jù)會根據(jù)對應的索引準確的賦給數(shù)據(jù)集中相同索引的行。
在分析交易信息,特別是統(tǒng)計收益和收益率的變化時,上面幾個函數(shù)能幫助我們極大簡化代碼,避免寫各種復雜的循環(huán)。
本站所有軟件,都由網(wǎng)友上傳,如有侵犯你的版權,請發(fā)郵件[email protected]
湘ICP備2022002427號-10 湘公網(wǎng)安備:43070202000427號© 2013~2025 haote.com 好特網(wǎng)