Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wiseplat
GitHub Repository: wiseplat/python-code
Path: blob/master/ invest-robot-contest_tinkoff-trading-bot-develop/app/utils/portfolio.py
5935 views
1
from typing import List, Optional
2
3
from tinkoff.invest import PortfolioPosition, OrderState
4
5
6
def get_position(positions: List[PortfolioPosition], figi: str) -> Optional[PortfolioPosition]:
7
"""
8
Find position by figi
9
10
:param positions: list of positions
11
:param figi: figi of position
12
:return: position or None if not found
13
"""
14
for position in positions:
15
if position.figi == figi:
16
return position
17
return None
18
19
20
def get_order(orders: List[OrderState], figi: str) -> Optional[OrderState]:
21
"""
22
Find position by figi
23
24
:param orders: list of orders
25
:param figi: figi of order
26
:return: position
27
"""
28
for order in orders:
29
if order.figi == figi:
30
return order
31
return None
32
33