рддрд┐рдирдХреЛрд╡ рдПрдкреАрдЖрдИред рдирд┐рд╡реЗрд╢ред рдкрд╣рд▓рд╛ рдЪрд░рдг

рд▓рдЧрднрдЧ рдкрд╣рд▓реЗ рджрд┐рди рд╕реЗ рдореИрдВ рдЯрд┐рдВрдХреЛрд╡ рдХрд╛ рдЧреНрд░рд╛рд╣рдХ рдмрди рдЧрдпрд╛ред

рдФрд░ рдЙрд╕ рдкрд▓ рд╕реЗ, рдЕрд╕реНрдкрд╖реНрдЯ рд╕рдВрджреЗрд╣ рдореБрдЭреЗ рдкреАрдбрд╝рд╛ рджреЗрддрд╛ рд╣реИ - рдХреНрдпрд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЦрд╛рддрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ?

рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдореИрдВ рдбреЙрд▓рд░ рдореЗрдВ рдирд┐рдХреНрд╖реЗрдкрд┐рдд рдкреНрд░рддрд┐рднреВрддрд┐рдпрд╛рдВ рдЦрд░реАрджрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдПрд▓рд╕реА рдореЗрдВ рд╕рднреА рдкрд░рд┐рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреА рдХреАрдорддреЗрдВ рдбреЙрд▓рд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддреА рд╣реИрдВ, рдФрд░ рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ рдореЗрдВ рдХреБрд▓ рдореВрд▓реНрдп рд░реВрдмрд▓ рдореЗрдВред

рдФрд░ рдореБрдЭреЗ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдбреЙрд▓рд░ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИ рдпрд╛ рдореИрдВ рдРрд╕рд╛ рд╕рдлрд▓ рдирд┐рд╡реЗрд╢рдХ рд╣реВрдВ?

рд▓реЗрдХрд┐рди рдЖрдпреЛрдЧреЛрдВ, рдХрд░реЛрдВ рдФрд░ рдЕрдиреНрдп рд▓рд╛рднрд╛рдВрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?

рдореИрдВ рдЕрдкрдиреЗ рд╕рднреА рд▓реЗрди-рджреЗрди рд▓реЗрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ FIFO рдореЗрдВ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╕реНрдЯреЙрдХ рдЕрдХрд╛рдЙрдВрдЯрд┐рдВрдЧ рдореЗрдВ ... рдФрд░ рд╢реАрд░реНрд╖ рдкрд░ рдкреНрд░рд╛рдкреНрдд рд▓рд╛рднрд╛рдВрд╢ рдбрд╛рд▓ рджрд┐рдпрд╛, рдФрд░ рдлрд┐рд░ рдХрд░реЛрдВ рдореЗрдВ рдХрдЯреМрддреА рдХреАред

рдФрд░ рддрдм рдореБрдЭреЗ рд╡рд╣ рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ рдЬреЛ рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВред

рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдЯрд┐рдВрдХреЛрд╡ рдХреЗ рдкрд╛рд╕ рдПрдХ рдПрдкреАрдЖрдИ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЯреНрд░реЗрдбрд┐рдВрдЧ рд░реЛрдмреЛрдЯ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рдореИрдВ рдЗрд╕рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рднреА рджрд┐рд▓рдЪрд╕реНрдкреА рдирд╣реАрдВ рд░рдЦрддрд╛ рд╣реВрдВ), рд╕рд╛рде рд╣реА рд╕рд╛рде рдЕрдкрдиреЗ рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ рдФрд░ рд╕рдВрдЪрд╛рд▓рди рдкрд░ рдбреЗрдЯрд╛ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдВред

рдЗрд╕ рдПрдкреАрдЖрдИ рдХрд╛ рдПрдХ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡рд┐рд╡рд░рдг рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реЗ рд▓рд┐рдП рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдерд╛, рдореБрдЭреЗ рдЗрд╕реЗ рд╕рдордЭрдирд╛ рдерд╛ред
рдЗрди рддрд╕рд▓реАрдореЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдо рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдореЗрдВ рдЖрддреЗ рд╣реИрдВред

рдЙрдкрдпреЛрдЧреА рд▓рд┐рдВрдХ:

рдПрдкреАрдЖрдИ
рд╡рд┐рд╡рд░рдг рдПрдХ рдФрд░ рд╡рд┐рд╡рд░рдг

рдПрдХ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдФрд░ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛


рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реНрдерд╛рдкрдирд╛:

pip install -i https://test.pypi.org/simple/ --extra-index-url=https://pypi.org/simple/ tinkoff-invest-openapi-client

рдореИрдВ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЯреЛрдХрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдЙрджреНрдзреГрдд рдХрд░рддрд╛ рд╣реВрдВ:

  1. Tinkoff.ru рдкрд░ рдЕрдкрдиреЗ рдЦрд╛рддреЗ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░реЗрдВ
  2. рдирд┐рд╡реЗрд╢ рдЕрдиреБрднрд╛рдЧ рдкрд░ рдЬрд╛рдПрдВ
  3. рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЬрд╛рдУ
  4. рдлрд╝рдВрдХреНрд╢рди "рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рд▓реЗрдирджреЗрди рдХреА рдкреБрд╖реНрдЯрд┐" рдЕрдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
  5. рдПрдХреНрд╕рдЪреЗрдВрдЬ рдФрд░ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдУрдкрдирдПрдкреАрдЖрдИ рдЯреЛрдХрди рдЬрд╛рд░реА рдХрд░реЗрдВред рд╢рд╛рдпрдж рд╕рд┐рд╕реНрдЯрдо рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЙрдЧ рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдЧрд╛, рдЪрд┐рдВрддрд╛ рди рдХрд░реЗрдВ, рд░реЛрдмреЛрдЯ рдХреЛ рдЯреНрд░реЗрдбрд┐рдВрдЧ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
  6. рдЯреЛрдХрди рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рд╕рд╣реЗрдЬреЗрдВ, рдЯреЛрдХрди рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдЖрдк рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦ рдкрд╛рдПрдВрдЧреЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдк рдЕрд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЯреЛрдХрди рдЬрд╛рд░реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд▓реЗрдЦрди рдХреЗ рд╕рдордп, рдкреГрд╖реНрда рдХреЗ рдиреАрдЪреЗ www.tinkoff.ru/invest/settings , рдмрдЯрди рдкрд░ рдЯреЛрдХрди рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ ред

рдЫрд╡рд┐

рдореЗрд░реЗ рдкрд╛рд╕ рд╕реИрдВрдбрдмреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдереАрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдореБрдХрд╛рдмрд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдореИрдВ рдЖрдкрд╕реЗ рдХреНрдпрд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ (рд╕рд╛рд╡рдзрд╛рдиреА: рджреБрд░реНрдШрдЯрдирд╛ рдХреЗ рдХрд╛рд░рдг рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдЦрд░реАрджрдирд╛, рдЦрд░реАрджрдирд╛ рдирд╣реАрдВ)ред

рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ


from openapi_client import openapi

token = '    '  
client = openapi.api_client(token)

рдпреЗ рджреЛ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╡рд╣ рд╕рдм рдХреБрдЫ рдХрд░рддреА рд╣реИрдВ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред

рдЕрдЧрд▓рд╛ рд╣рдо рдХреНрд▓рд╛рдЗрдВрдЯ рдЪрд░ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рд╣рдорд╛рд░реЗ рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ


рд╣рдорд╛рд░реЗ рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ :

pf = client.portfolio.portfolio_get()

рдЖрдЗрдП рдкрд╣рд▓реЗ рддрддреНрд╡ рдХрд╛ рдореВрд▓ рдбреЗрдЯрд╛ рджреЗрдЦреЗрдВ:

print('value:', pf.payload.positions[0].average_position_price.value)
print('currency:', pf.payload.positions[0].average_position_price.currency)
print('balance:', pf.payload.positions[0].balance)
print('figi:', pf.payload.positions[0].figi)
print('ticker:', pf.payload.positions[0].ticker)
print('name:', pf.payload.positions[0].name)

рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╣реИ:

value: 45.98
currency: USD
balance: 21.0
figi: BBG000BWPXQ8
ticker: BTI
name: British American Tobacco

рдореВрд▓реНрдп - рдХрд╛рдЧрдЬ рдореВрд▓реНрдп
рд╕рдВрддреБрд▓рди - рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ рдореЗрдВ рдореВрд▓реНрдп рдкреНрд░рддрд┐рднреВрддрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдореВрд▓реНрдп рдФрд░ рдореБрджреНрд░рд╛ - рдЙрдирдХрд╛ рдореМрджреНрд░рд┐рдХ рдореВрд▓реНрдпред

рдЕрдВрдЬреАрд░ - рдЧреНрд▓реЛрдмрд▓ рдЖрдЗрдбреЗрдВрдЯрд┐рдлрд╝рд╛рдпрд░ (рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд┐рддреНрддреАрдп рд╕рд╛рдзрди рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛) рдХрд╛ рд╡рд┐рддреНрддреАрдп рд╕рд╛рдзрди
рдЯрд┐рдХрд░ - рдЯрд┐рдХрд░ рдПрд╕реЗрдЯред

рдЗрд╕ рдбреЗрдЯрд╛ рд╕реЗ, рд╣рдо рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдорд╛рдирд╡-рдкрдардиреАрдп рдирд╛рдо рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдирд╛рдо рдлрд╝реАрд▓реНрдб рджреЗрдЦреЗрдВ), рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдпрд╣ рдХрд╛рдо рдореЗрдВ рдЖрдПрдЧрд╛ред

FIGI рдФрд░ рдЯрд┐рдХрдЯ рджреНрд╡рд╛рд░рд╛ рдХрд╛рдЧрдЬ рдХрд╛ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ


#    FIGI
instr = client.market.market_search_by_figi_get('BBG000BWPXQ8') 
instr

рд╣рдореЗрдВ рдорд┐рд▓рд╛:

{'payload': {'currency': 'USD',
             'figi': 'BBG000BWPXQ8',
             'isin': 'US1104481072',
             'lot': 1,
             'min_price_increment': 0.01,
             'name': 'British American Tobacco',
             'ticker': 'BTI',
             'type': 'Stock'},
 'status': 'Ok',
 'tracking_id': 'a1979917d2141916'}

рдпрд╣ рдПрдкреАрдЖрдИ рдлрд╝рдВрдХреНрд╢рди рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ 'BBG000BWPXQ8' -> 'рдмреНрд░рд┐рдЯрд┐рд╢ рдЕрдореЗрд░рд┐рдХрди рддрдВрдмрд╛рдХреВ'ред

рд▓реЗрдХрд┐рди рдЯрд┐рдХрд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдирд╛рдо рдХреА рдЦреЛрдЬ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ: ((

instr = client.market.market_search_by_ticker_get('BTI' ) 
print(instr)

рдбреЗрд╡рд▓рдкрд░реНрд╕ рдиреЗ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЙрд╕рдХреЗ рдмрд╛рдж рднреА рдЗрд╕реЗ рдмрдВрдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рдкреНрд░рддрд┐рднреВрддрд┐ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ


рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдореМрд▓рд┐рдХ рд░реВрдк рд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ред рдореИрдВ Tinkov рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рд╕рдореНрдкрддреНрддрд┐ рдХреА рдкреВрд░реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реВрдБ:

#   
bonds = client.market.market_bonds_get() 

#   ETF
etfs = client.market.market_etfs_get() 

#   
stocks = client.market.market_stocks_get() 

instr_list = bonds.payload.instruments + etfs.payload.instruments + stocks.payload.instruments

instr_list[:3]
рдЧреЙрдЯ
[{'currency': 'RUB',
  'figi': 'BBG00844BD08',
  'isin': 'RU000A0JU898',
  'lot': 1,
  'min_price_increment': 0.1,
  'name': '  9',
  'ticker': 'RU000A0JU898'}, {'currency': 'RUB',
  'figi': 'BBG00R05JT04',
  'isin': 'RU000A1013Y3',
  'lot': 1,
  'min_price_increment': 0.1,
  'name': ' \xa02',
  'ticker': 'RU000A1013Y3'}, {'currency': 'RUB',
  'figi': 'BBG00PNLY692',
  'isin': 'RU000A100DC4',
  'lot': 1,
  'min_price_increment': 0.1,
  'name': '- 002P  2',
  'ticker': 'RU000A100DC4'}]

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдВрдЬреАрд░ рдФрд░ рдирд╛рдо рд╣реИред рдореЗрд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП - рдкрд░реНрдпрд╛рдкреНрдд рд╕реЗ рдЕрдзрд┐рдХред

рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ


рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдореЗрд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреНрд░рд┐рдпрд╛рдПрдВ рдСрдкрд░реЗрд╢рди (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ) рдореЗрдВ рдЖрддреА рд╣реИрдВ:

  • рднреБрдЧрддрд╛рди - рдмреНрд░реЛрдХрд░реЗрдЬ рдЦрд╛рддрд╛ рдкреБрдирдГрдкреВрд░реНрддрд┐
  • PayOut - рдкреИрд╕реЗ рдХреА рдирд┐рдХрд╛рд╕реА
  • BuyCard - рдПрдХ рдХрд╛рд░реНрдб рд╕реЗ рдЦрд░реАрджреЗрдВ
  • рдмреЗрдЪ - рдмрд┐рдХреНрд░реА
  • рдмреНрд░реЛрдХрд░рдХреИрдорд┐рд╢рди - рдмреНрд░реЛрдХрд░ рдХрдореАрд╢рди
  • рд▓рд╛рднрд╛рдВрд╢ - рд▓рд╛рднрд╛рдВрд╢ рднреБрдЧрддрд╛рди
  • рдХрд░ - рдХрд░
  • рдЯреИрдХреНрд╕ рдбрд┐рд╡рд┐рдбреЗрдВрдб- рдбрд┐рд╡рд┐рдбреЗрдВрдб рдЯреИрдХреНрд╕
  • ServiceCommission - рд╕реЗрд╡рд╛ рд╢реБрд▓реНрдХ

рдПрдХ рдкреЛрд░реНрдЯрдлреЛрд▓рд┐рдпреЛ рдЙрддрд╛рд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб:

from datetime import datetime
from pytz import timezone

#     30  2016 (      )
d1 = datetime(2016, 9, 30, 0, 0, 0, tzinfo=timezone('Europe/Moscow'))  # timezone  .  - 
d2 = datetime.now(tz=timezone('Europe/Moscow'))  #   
ops = client.operations.operations_get(_from=d1.isoformat(), to=d2.isoformat())
рджреЗрдЦрддреЗ рд╣реИ рдХреНрдпрд╛ рд╣реБрдЖред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рддрддреНрд╡ рдмреНрдпрд╛рдЬ рдХрд╛ рд╣реИ
ops.payload.operations[217]
рд╡рд╣ рдпрд╣реА рд╣реИ
{'commission': {'currency': 'USD', 'value': -0.42},
 'currency': 'USD',
 'date': datetime.datetime(2018, 11, 7, 10, 55, 53, 648913, tzinfo=tzoffset(None, 10800)),
 'figi': 'BBG000PSKYX7',
 'id': '42281525510',
 'instrument_type': 'Stock',
 'is_margin_call': False,
 'operation_type': 'BuyCard',
 'payment': -141.05,
 'price': 141.05,
 'quantity': 4,
 'status': 'Done',
 'trades': [{'date': datetime.datetime(2018, 11, 7, 10, 55, 53, 648913, tzinfo=tzoffset(None, 10800)),
             'price': 141.05,
             'quantity': 1,
             'trade_id': '42636800'}]}

рд╣рдо рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ:

  • рддрд╛рд░реАрдЦ - рд▓реЗрди-рджреЗрди рдХреА рддрд╛рд░реАрдЦ
  • рдЕрдВрдЬреАрд░ - рд╕рдВрдкрддреНрддрд┐ рдХреЛрдб
  • Operation_type - рдСрдкрд░реЗрд╢рди рдХрд╛ рдкреНрд░рдХрд╛рд░
  • рднреБрдЧрддрд╛рди - рд▓реЗрди-рджреЗрди рдХреА рд░рд╛рд╢рд┐ред рдХрд░реЛрдВ рдпрд╛ рдХрдореАрд╢рдиреЛрдВ рдХреЗ рд▓рд┐рдП, рдЙрд╕реЗ рд╕рдВрдХреЗрдд рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЬрдмрдХрд┐ рдХреЛрдИ рдирд╣реАрдВ
  • рдореВрд▓реНрдп - рдПрдХ рдХрд╛рдЧрдЬ рдХреА рдХреАрдордд
  • рдорд╛рддреНрд░рд╛ - рдкреНрд░рддрд┐рднреВрддрд┐рдпреЛрдВ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рд░рд╛рд╢рд┐
  • рдЯреНрд░реЗрдбреЛрдВ - рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╡рд┐рдирд┐рдордп рд╕реМрджреЗ

рд╕рд╡рд╛рд▓ рддреБрд░рдВрдд рдЙрдард╛ - рдЕрдЧрд░ рдХреАрдордд рдФрд░ рдорд╛рддреНрд░рд╛ рд╣реИ рддреЛ рд╣рдореЗрдВ рдХреБрдЫ рдЯреНрд░реЗрдбреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?

рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИ (рдпреЛрдЬрдирд╛ рдФрд░ рддрдереНрдп)


рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдордЭрд╛, рдорд╛рддреНрд░рд╛ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдХрд┐рддрдиреЗ рдХрд╛рдЧрдЬ рдЦрд░реАрджрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдФрд░ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЦрд░реАрджрд╛ рдЧрдпрд╛ рд╣реИ рд╡рд╣ рдЯреНрд░реЗрдбреЛрдВ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИ [i]ред рдирд┐рд░рдВрддрд░рддрд╛ред

рдЙрдиред рдпрджрд┐ рдЖрдк рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд▓реЗрди-рджреЗрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдЯреНрд░реЗрдбреЛрдВ рдореЗрдВ рдХреНрдпрд╛ рдирд┐рд╣рд┐рдд рд╣реИред

рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдХреЛрдИ рднреА рдирд╣реАрдВ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╛ рдзрди рдХреА рдЬрдорд╛ / рдирд┐рдХрд╛рд╕реАред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд▓реЗрдирджреЗрди рдХреЛ рджреЗрдЦрдиреЗ рдФрд░ рд▓реЗрдирджреЗрди рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

for op in ops.payload.operations: #  
    print(op.figi) # figi    
    print(op.operation_type)   #    
    if op.trades == None:      #    
        print('price:', op.price)       #     
        print('payment:', op.payment)   #  
        print('quantity:', op.quantity) #   
    else:     
        for t in op.trades:                   #     -   
            print('price:', t.price)          #     
            print('quantity:', t.quantity)
    print('--------------')

All Articles