1
我剛剛開始使用Python並使用熊貓來編寫一個股票投資組合應用程序。我遇到的問題是在我的職位類別中,該類職位創建了熊貓系列來根據交易來表示隨着時間的推移,每隻股票擁有的股份數量。因此,如果我在2012年10月10日在IBM購買50股股票並在10/14/2012賣出10股,我希望IBM的position.shares系列是:熊貓添加系列以保持運行總和
- 10/10/2012:50
- 2012年10月11日:50
- 2012年10月12日:50
- 2012年10月13日:50
- 2012年10月14日:40
- 2012年10月15日:40
我計劃通過添加從交易日期到當前日期的系列,然後將每個系列彙總爲一個系列。我正在嘗試使用Series.add函數,因爲我需要一個填充值來確保表示新事務的新共享序列不是NaN舊位置。問題是我不知道如何初始化可以正確添加的可用系列。我想系列(0)下面的代碼由剛剛返回:
Series([], dtype=float64)
我也試圖與只是一些隨機的日期用0值初始化,但我只是不停地甚至加入不同系列之後獲得該系列回到它。
這裏是我的代碼:
class Position:
def __init__(self, trades):
self.ticker = trades[0].ticker #grab the ticker we are dealing with
self.shares = Series()
for trade in trades:
if trade.tranType == 0 or trade.tranType == 2:
direction = 1 #a buy increases share amount
else:
direction = -1 # a sell decreases share amount
dateRangeInFolio = pd.DateRange(trade.date, datetime.datetime.today()) #from the event date through today
shareSer = Series(trade.shares * direction, index=dateRangeInFolio)
self.shares.add(shareSer, fill_value=0)
print self.shares
感謝您的幫助。如果我缺少一些非常基本的東西,我很抱歉。
你有小樣本有這個問題,可以複製粘貼和嘗試。 – Himanshu