Aloita ilmaiseksi

Miten Flex Query määritetään Interactive Brokersissa?

Tarvitset kaksi asiaa: Activity Flex Queryn — tallennetun raportin, jossa on kahdeksan osiota XML-muodossa — ja Flex Web Service -tunnisteen (token), jolla ohjelma raportin hakee. Molemmat tehdään IB:n palvelussa samalla sivulla noin kymmenessä minuutissa. Alla valikkopolku, vaiheet ja kaavio siitä, mihin kutakin osiota tarvitaan.

Päivitetty

Mitä saat lopuksi

Flex Query on raporttipohja IB:n palvelussa: mitkä osiot, mitkä kentät, mikä jakso ja mikä tiedostomuoto. Jokaisella kyselyllä on numero — Query ID. Flex Web Service on tapa hakea raportti ohjelmallisesti ilman kirjautumista; IBKR Guidesin mukaan pyyntöön tarvitaan voimassa oleva tunniste ja Query ID (Configure Flex Web Service, englanniksi).

Molemmat löytyvät samasta paikasta: Performance & Reports → Flex Queries (tai Menu → Reporting → Flex Queries). Kaaviosta näet, mitä painaa ja mitä siitä saa.

Missä mikin on IB:n palvelussa
Performance & Reports → Flex Queries
tai Menu → Reporting → Flex Queries
  • Activity Flex Query, ”+”
    Sections + Delivery Configuration
    8 osiota, Models Optional, XML, Last 365 Calendar Days
    • Continue → Create
      Query ID
      raportin numero
  • Flex Web Service Configuration
    Flex Web Service Status → Save
    Should Expire After; Valid For IP Address — tyhjä
    • Generate New Token
      Tunniste
      yhteyden avain

Kohtien nimet kuten IBKR Guidesissa (Client Portal). Query ID ja tunniste liitetään PnlTrackiin.

Vaihe vaiheelta

Vaiheet noudattavat IBKR Guidesin ohjeita Create an Activity Flex Query ja Configure Flex Web Service; osiot ja toimitusasetukset ovat ne, joita PnlTrackin tuonti odottaa.

  1. Avaa Flex Queries. Kirjaudu Client Portaliin ja avaa Performance & Reports → Flex Queries (tai Menu → Reporting → Flex Queries).
  2. Luo Activity Flex Query. Paina Activity Flex Query -paneelin ”+”-painiketta ja anna kyselylle mikä tahansa nimi.
  3. Valitse kahdeksan osiota. Valitse kohdassa Sections: Cash Transactions, Corporate Actions, Financial Instrument Information, Open Positions, Option Exercises, Assignments and Expirations, Realized and Unrealized Performance Summary in Base, Trades, Transfers.
  4. Ota jokaisen osion kaikki kentät. Jokainen osio avautuu ikkunaan, jossa on sen kentät: valitse kaikki ja paina Save. Open Positions -osiossa ota käyttöön molemmat tarkkuustasot — Summary ja Lot.
  5. Määritä Delivery Configuration. Models — Optional, Format — XML, Period — Last 365 Calendar Days. Jätä General Configuration ennalleen.
  6. Luo kysely ja kopioi Query ID. Paina Continue, tarkista asetukset ja paina Create. Kopioi uuden kyselyn Query ID.
  7. Ota Flex Web Service käyttöön. Avaa samalla sivulla Flex Web Service Configuration, rastita Flex Web Service Status ja paina Save.
  8. Luo tunniste. Valitse kohdassa Should Expire After pisin aika, jätä Valid For IP Address tyhjäksi, paina Generate New Token ja kopioi tunniste.
  9. Liitä PnlTrackiin. Lisää PnlTrackissa Interactive Brokers -yhteys tunnisteella ja sen jälkeen päivittäinen raportti Query ID:llä — tuonti alkaa heti.

Mihin kutakin osiota tarvitaan

Flex toimittaa täsmälleen ne osiot, jotka kyselyssä on valittu. Omissa latauksissamme valittu osio ilman tietoja tulee tyhjänä, valitsematonta ei tiedostossa ole lainkaan — eikä sitä voi jälkikäteen rakentaa mistään. Siksi lista on lyhyt ja tarkka: kaikki, mitä tuonti lukee, eikä mitään ylimääräistä. Ylimääräinen osio ei haittaa, mutta sitä ei käytetä. Kunkin osion sisältö on kuvattu Activity Flex Query Reference -ohjeessa.

Activity Flex Queryn kahdeksan osiota
  1. 1Cash Transactions
    PnlTrack ottaa:
    osingot, lähdeverot, korot, välittäjän kulut, talletukset ja nostot
    ilman sitä:
    ei osinkoja eikä niiden veroja
  2. 2Corporate Actions
    PnlTrack ottaa:
    splitit, spin-offit, yrityskaupat
    ilman sitä:
    splittejä ja yrityskauppoja ei huomioida
  3. 3Financial Instrument Information
    PnlTrack ottaa:
    ISIN, conid, FIGI — arvopaperin tunnistus
    ilman sitä:
    arvopaperia ei tunnisteta luotettavasti; tikkeri ei sitä yksilöi
  4. 4Open Positions
    PnlTrack ottaa:
    positiot ja hankintameno välittäjän mukaan
    ilman sitä:
    positioita ei voi täsmäyttää; pääoman palautuksen korjaus jää tekemättä
  5. 5Option Exercises, Assignments and Expirations
    PnlTrack ottaa:
    optioiden toteutukset, asetukset ja raukeamiset
    ilman sitä:
    toteutukset ja raukeamiset eivät näy
  6. 6Realized and Unrealized Performance Summary in Base
    PnlTrack ottaa:
    välittäjän merkintä hankintamenon oikaisusta
    ilman sitä:
    hankintamenon oikaisut jäävät näkemättä
  7. 7Trades
    PnlTrack ottaa:
    ostot ja myynnit, hinnat, palkkiot
    ilman sitä:
    mitään ei tuoda
  8. 8Transfers
    PnlTrack ottaa:
    arvopaperien siirrot tilien ja välittäjien välillä
    ilman sitä:
    siirretyn osakkeen myynti näyttää myynniltä ilman ostoa

Täsmälleen se, mitä PnlTrackin tuonti lukee; sama lista on sovelluksen käyttöönotossa.

Miksi Models on Optional eikä All

Delivery Configurationin Models saa kaksi arvoa, Optional ja All (IBKR Guidesin mukaan). Kun valitset All, IB:n palvelu varoittaa yhdellä rivillä, että toteutuneen tuloksen osiot ja kentät poistetaan käytöstä, kun mallit ovat mukana. IBKR Guides ei tätä mainitse — varoitus näkyy vain itse palvelussa.

Mitä se käytännössä tarkoittaa, tarkistimme saman tilin kahdella latauksella: All-asetuksella Open Positions -osion hankintameno (Cost Basis Price, Cost Basis Money) oli nolla ja Realized and Unrealized Performance Summary in Base tyhjä. Nolla tarkoittaa tässä ”kenttä pois päältä”, ei ”osakkeet olivat ilmaisia”, eikä PnlTrack kirjaa sitä tosiasiaksi. Optional-asetuksella samat kentät ovat täynnä ja täsmäävät saman tilin CSV-otteeseen.

Models Delivery Configurationissa
Models
  • Optional
    Tulos- ja hankintamenokentät täynnä
    positiot hankintamenoineen, yhteenveto arvopapereittain
  • All
    Tuloskentät pois päältä
    Open Positions nollahankintamenolla, yhteenveto tyhjä

Perustuu saman tilin kahteen lataukseemme puolen tunnin välein.

Jakso ja yli vuoden vanha historia

Last 365 Calendar Days on yksi IBKR Guidesin luettelemista Period-vaihtoehdoista. Sillä jokainen päivittäinen ajo tuo viimeisen vuoden: uudet kaupat tulevat mukaan, eikä PnlTrack monista jo tuotuja.

Yli vuoden vanhaa historiaa ei haeta Flexillä. PnlTrackiin se ladataan Activity Statement -otteina CSV-muodossa, yksi tiedosto vuotta kohden — sovelluksessa on tähän oma vaiheittainen ohje. Flexin XML-tiedostoa ei voi ladata käsin; se tulee vain tunnisteen kautta.

Saman päivän kaupat — halutessasi

Activity Flex Query päivittyy kerran vuorokaudessa. Jos haluat kaupat näkyviin nopeammin, lisää PnlTrackiin toinen raportti — Trade Confirmation Flex Query, joka luodaan samalla Flex Queries -sivulla (Trade Confirmation Flex Query -paneeli, ”+”) yhdellä osiolla ja XML-muodossa. Tunniste on sama, tarvitaan vain sen Query ID. PnlTrack hakee raportin noin puolen tunnin välein.

Jos jokin ei toimi

  • Tunniste lakkasi toimimasta. Tunnisteella on voimassaoloaika (IBKR Guidesin mukaan oletuksena 6 tuntia, siksi valitaan pidempi). Luo uusi ja vaihda avain PnlTrackissa. Muista, että uusi tunniste mitätöi vanhan — jos samaa IB-tunnusta käyttää jokin toinen ohjelma, sekin tarvitsee uuden.
  • Kohtaan Valid For IP Address on kirjoitettu osoite. Silloin tunniste toimii vain siitä osoitteesta, eivätkä PnlTrackin palvelimet voi käyttää sitä. Jätä kenttä tyhjäksi.
  • Positioita, siirtoja tai arvopaperien tunnuksia ei näy. Todennäköisesti osio puuttuu kyselystä. Puuttuvista osioista Open Positions, Realized and Unrealized Performance Summary in Base, Transfers ja Financial Instrument Information PnlTrack kertoo itse tuonnin jälkeen — avaa kysely IB:ssä, valitse osio ja tallenna.
  • Positioiden hankintameno on nolla. Tarkista Models: sen pitää olla Optional.

Mitä tuoduille kaupoille tehdään verotuksessa, kerrotaan artikkelissa Interactive Brokers veroilmoitus.

Usein kysyttyä

Onko Flex Web Service -tunnisteen antaminen turvallista?
Tunnisteella pyydetään Flex-raportteja yhdessä Query ID:n kanssa — näin IBKR Guides sen kuvaa. IB-salasanaasi et anna. Tunnisteen voi vaihtaa milloin tahansa: IBKR Guidesin mukaan uusi tunniste mitätöi vanhan.
Kuinka kauan tunniste on voimassa?
IBKR Guidesin mukaan aika valitaan kohdassa Should Expire After, ja oletus on 6 tuntia. Päivittäistä tuontia varten valitse pisin aika; kun se umpeutuu, luo uusi tunniste ja vaihda avain PnlTrackissa.
Miksi Models = Optional?
All-asetuksella IB:n palvelu kytkee toteutuneen tuloksen kentät pois, ja omissa latauksissamme positiot tulivat nollahankintamenolla. Optional-asetuksella kentät ovat täynnä.
Voinko tuoda yli vuoden historian?
PnlTrackin Flex-kysely asetetaan jaksolle Last 365 Calendar Days. Vanhempi historia ladataan Activity Statement -otteina CSV-muodossa, yksi vuotta kohden; päällekkäiset jaksot eivät haittaa — PnlTrack poistaa kaksoiskappaleet.

Lähteet

Veroa ja valuuttakursseja koskevat tiedot perustuvat näihin lähteisiin.

  1. IBKR Guides: Create an Activity Flex Query (Client Portal, englanniksi) — valikkopolku, osiot, Delivery Configuration: Models, Format, Period
  2. IBKR Guides: Configure Flex Web Service (Client Portal, englanniksi) — palvelun käyttöönotto, tunnisteen voimassaolo ja IP, uusi tunniste mitätöi vanhan
  3. IBKR Reporting Reference: Activity Flex Query Reference (englanniksi) — mitä kukin osio sisältää
  4. IBKR Reporting Reference: Open Positions (englanniksi) — tasot Summary ja Lot, hankintameno
  5. IBKR Reporting Reference: Trades (englanniksi) — kauppojen tarkkuustasot
  6. IBKR Reporting Reference: Transfers (ACATS, Internal) (englanniksi) — positioiden siirrot välittäjien välillä

Tämä on yleistä tietoa, ei vero- eikä sijoitusneuvontaa. Tarkista oma tilanteesi Verohallinnon ohjeista tai asiantuntijalta.