2014-02-13 4 views
0

Итак, у меня есть файл CSV с отсортированными данными торговли. Он имеет следующие столбцы:Match Trades из файла CSV в Python с использованием Pandas

Trade_Price , TimeStamp , Buy/Sell , Contract 

Теперь я отсортированные торгов, так что они находятся в формате CSV в последовательных строках. Теперь я хочу, чтобы пары сделок находили чистый PnL, принимая разницу Trade_Price и помещали это в новый dataFrame в Python. Я не уверен, как точно пройти через Dataframe для соответствия этим сделкам, а затем сохранить их в новом фрейме данных со следующими столбцами.

Contract , Price_Change ,   PnL ,  Trade_Number 

Price_Change = Trade_price(1) - Trade_price(2) 

PnL будет, если я купил на 100 и продается в 101, то мой PnL будет $ 1 Я полагаю, размер сделки в 1.

+0

Лучше всего, если вы разобрать обычный файл и groubpy договора. Затем перебирайте группы ... Что такое Trade_Number? Это получается из воздуха здесь ... – tschm

+0

Его просто еще одна колонка, которую я добавляю, чтобы обозначить торговлю. Он должен учитывать количество сделок. – finviz

+0

Итак, я уже группирую его по контракту, однако я не уверен, как я могу перебирать его и захватывать по две строки за раз? и как только это будет сделано, перейдите на третью строку вместо второй. – finviz

ответ

0

Два захватить две колонки в то время, вы можете сделать что-то вроде этого:

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 
Смежные вопросы