使用Pandas从Python中的CSV文件进行匹配交易

使用Pandas从Python中的CSV文件进行匹配交易,python,pandas,dataframe,finance,import-from-csv,Python,Pandas,Dataframe,Finance,Import From Csv,因此,我有一个CSV文件与排序的贸易数据。 它有以下列: Trade_Price , TimeStamp , Buy/Sell , Contract 现在,我已经对交易进行了排序,以便它们在连续的行中位于CSV中。现在,我想将交易配对,通过获取交易价格的差额找到净PnL,并将其放入Python中的新数据帧中。我不知道如何准确地循环数据帧以匹配这些交易,然后将它们存储在具有以下列的新数据帧中 Contract , Price_Change , PnL , Tr

因此,我有一个CSV文件与排序的贸易数据。 它有以下列:

Trade_Price , TimeStamp , Buy/Sell , Contract
现在,我已经对交易进行了排序,以便它们在连续的行中位于CSV中。现在,我想将交易配对,通过获取交易价格的差额找到净PnL,并将其放入Python中的新数据帧中。我不知道如何准确地循环数据帧以匹配这些交易,然后将它们存储在具有以下列的新数据帧中

Contract ,   Price_Change  ,         PnL  ,       Trade_Number

Price_Change = Trade_price(1) - Trade_price(2) 

如果我以100买入,以101卖出,那么我的PnL将为1美元,我假设交易规模为1

Two一次抓取两列您可以执行以下操作:

import pandas as pd

Trade_Price = pd.DataFrame({'A':[1,2,3,4],'B':[5,6,7,8]})
Trade_Price1 = Trade_Price.iloc[::2,:].reset_index(drop=True)
Trade_Price2 = Trade_Price.iloc[1::2,:].reset_index(drop=True)
print Trade_Price1
print Trade_Price2
print Trade_Price1-Trade_Price2 #do your operations here
输出:

   A  B
0  1  5
1  3  7
   A  B
0  2  6
1  4  8
   A  B
0 -1 -1
1 -1 -1

最好是解析普通文件和groubpy契约。然后在组上迭代。。。交易号码是多少?这是凭空而来的……这只是我添加的另一个专栏,用来表示交易。记录交易的数量是很重要的,所以我已经按照合同对它进行了分组,但是我不确定如何迭代,一次抓取两行?一旦这样做了,就转到第三排而不是第二排。请记住,你可能会买入一个头寸,但你需要几次交易才能摆脱它。交易不是二元业务。或者你可能已经有了一个位置,然后再次买入……这只是一个测试,因此CSV文件已经有了成对的交易。其格式是一对交易依次列出。我想将这对交易对账到一个表中,并根据它们计算PnL。