私は株式アカウントの損益を追跡するプログラムを設計する予定ですが、Pythonを使用してオブジェクト指向の方法で解決することを願っています。Python PNL OOP、別のクラスの属性を使用する方法
コード:
class PNL(object):
stock_amount = {}
def __init__(self,cash,position):
self.cash = cash
self.position = position
def buy(self,Stock,amount):
pass
def sell(self,Stock,amount):
pass
def stock_amt(self,Stock):
if Stock().symbol not in stock_amount:
stock_amount[Stock().symbol] = 0
else:
return stock_amount
class Stock():
def __init__(self,symbol,timestamp,price):
self.symbol = symbol
self.time = timestamp
self.price = price
a = PNL(0,0)
APPL = []
APPL.append(Stock('APPL',0,10))
APPL.append(Stock('APPL',1,12))
a.stock_amt('APPL')
for stock in APPL:
if stock.time == 0:
print stock.price
しかし、これは正常に動作しない、誰もがその上でアイデアを持って?
こんにちはPRMoureu、まず、私は本当にあなたのタイピングと助けに感謝この質問については、PNL.stock_amtはので、私は現在の合計を得ることができるだろう、私のポートフォリオ内の各在庫量を格納するために使用される属性です。 "現金"の価値。だから私はカルする必要がありますl他のClassの属性をハッシュマップとして保持します。株式( 'APPL'、0,10)では、0はタイムスタンプが価格変動を記録することを意味するので、それをどのように実装するか考えていますか? –
@SidiChang 'self.stock_amount [stock.symbol] = 0'で使われているのと同じ構文でこの在庫金額を保存することができます(stock.priceで0を置き換えます)。そして、クラスPNLに別のメソッドを実装します。 'self.stock_amount.values()'のループを持つ各在庫量 – PRMoureu
こんにちは、しかし株価は動的に変更され、時系列に基づいています、それ以上のヒントは高く評価されるでしょう! –