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.
- Activity Flex Query, ”+”Sections + Delivery Configuration8 osiota, Models Optional, XML, Last 365 Calendar Days
- Continue → CreateQuery IDraportin numero
- Flex Web Service ConfigurationFlex Web Service Status → SaveShould Expire After; Valid For IP Address — tyhjä
- Generate New TokenTunnisteyhteyden 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.
- Avaa Flex Queries. Kirjaudu Client Portaliin ja avaa Performance & Reports → Flex Queries (tai Menu → Reporting → Flex Queries).
- Luo Activity Flex Query. Paina Activity Flex Query -paneelin ”+”-painiketta ja anna kyselylle mikä tahansa nimi.
- 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.
- 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.
- Määritä Delivery Configuration. Models — Optional, Format — XML, Period — Last 365 Calendar Days. Jätä General Configuration ennalleen.
- Luo kysely ja kopioi Query ID. Paina Continue, tarkista asetukset ja paina Create. Kopioi uuden kyselyn Query ID.
- Ota Flex Web Service käyttöön. Avaa samalla sivulla Flex Web Service Configuration, rastita Flex Web Service Status ja paina Save.
- Luo tunniste. Valitse kohdassa Should Expire After pisin aika, jätä Valid For IP Address tyhjäksi, paina Generate New Token ja kopioi tunniste.
- 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.
- 1Cash Transactions
- PnlTrack ottaa:
- osingot, lähdeverot, korot, välittäjän kulut, talletukset ja nostot
- ilman sitä:
- ei osinkoja eikä niiden veroja
- 2Corporate Actions
- PnlTrack ottaa:
- splitit, spin-offit, yrityskaupat
- ilman sitä:
- splittejä ja yrityskauppoja ei huomioida
- 3Financial Instrument Information
- PnlTrack ottaa:
- ISIN, conid, FIGI — arvopaperin tunnistus
- ilman sitä:
- arvopaperia ei tunnisteta luotettavasti; tikkeri ei sitä yksilöi
- 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ä
- 5Option Exercises, Assignments and Expirations
- PnlTrack ottaa:
- optioiden toteutukset, asetukset ja raukeamiset
- ilman sitä:
- toteutukset ja raukeamiset eivät näy
- 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ä
- 7Trades
- PnlTrack ottaa:
- ostot ja myynnit, hinnat, palkkiot
- ilman sitä:
- mitään ei tuoda
- 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.
- OptionalTulos- ja hankintamenokentät täynnäpositiot hankintamenoineen, yhteenveto arvopapereittain
- AllTuloskentä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.
- IBKR Guides: Create an Activity Flex Query (Client Portal, englanniksi) — valikkopolku, osiot, Delivery Configuration: Models, Format, Period
- IBKR Guides: Configure Flex Web Service (Client Portal, englanniksi) — palvelun käyttöönotto, tunnisteen voimassaolo ja IP, uusi tunniste mitätöi vanhan
- IBKR Reporting Reference: Activity Flex Query Reference (englanniksi) — mitä kukin osio sisältää
- IBKR Reporting Reference: Open Positions (englanniksi) — tasot Summary ja Lot, hankintameno
- IBKR Reporting Reference: Trades (englanniksi) — kauppojen tarkkuustasot
- 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.