Hyppää sisältöön

FIFO

Fifo tarkoittaa First In, First Out - eli ensin sisään tullut poistuu ensimmäisenä ulos. Tämä käsite on liitty moniin ihmisten päivittäisiin asioihin, joten ei ole mikään yllätys, että se on yksi osakekaupan käynnin tärkeimmistä käsitteistä. Kun osakkeita myydään, niin yleensä pyynti tapahtuu vanhemmista ostoeristä päin. On määritettävissä halutaanko myyminen tehdä toisin päin, mutta oletus on aina vanhimmasta nuorimpaan.

Miksi otan tämän aiheen esiin tässä blogikirjoituksessani. Kun tehdään laskelmia erillaisilla salkkuun liittyvillä asioilla haluaa mielellään yksinkertaistaa asioita ja kohdistaa myynnin vain keskiarvoiseen ostohintaan välittämättä ostoeristä.

Laiskuuttaa usein.

Keskiarvostaminen aiheuttaa kuitenkin aina ongelmaa pitkä aikavälillä, jos seuraa osakkeen kurssin kehitystä salkussa. Ongelma on suurempi kuin mahdolliset pyöristysvirheet kaupankäyntitapahtumia laskettaessa.

Paras tapa laskea salkun tilannetta on vain käydä myyntitapahtuman kohdalla ostoerät läpi ja käsitellä jokainen myyntierä tapahtumajärjestyksessä. Tämän voi tietenkin tehdä excelissä tai libreoffice calcissa käsin, mutta asian voi laskea myös vaivattomasti ohjelmallisesti.

Esitän lyhyesti algoritmin, jolla kykenee ohjelmallisesti suorittamaan myyntitapahtuman salkkuun, jonka tilanne, myyntierät ja myyntitapahtuma tunnetaan. Olen melko monta kertaa joutunut naputtelemaan tätä kyseistä asiaa varsinaisen työni puitteissa, eikä algoritmi todellakaan ole kovinkaan tuntematon juttu niille, jotka näiden asioiden kanssa joutuvat painimaan.

Myyntialgoritmi salkkuun kohdistuvassa myyntitapahtumassa.

Ehtona algoritmille on, että ostoerät tunnetaan ja salkun tilanne tunnetaan.

Eli algoritmille tuodaan kauppatapahtuma, joka sisältää kaupan hinnan ja osakkeiden määrän. Otetaan ensimmäinen ostoerä ja vähennetään ostoerästä kauppatapahtuman määrä.

1. Jos saatu summa on nolla, niin ostoerä meni tasan. Ostoeriä ei enää tarvitse käydä läpi. Ostoerä poistetaan salkusta ja siirrytään viimeiseen vaiheeseen.

2.Jos saatu summa on nollaa isompi, eli ostoerälle jäi vielä osakkeita myynnin jälkeen, vähennetään ostoerän positiosta kauppatapahtuman ostoerän verran osakkeita ja siirrytään viimeiseeen vaiheeseen.

3. Jos saatu summa on nollaa pienempi, niin ostoerä oli kauppatapahtuman määrää pienempi. Nyt korjataan Kauppatapahtuman määrää pienemmäksi ostoerän pois myymisestä jäljelle jäänellä määrällä. Kun kauppatapahtuman määrää on korjattu, poistetaan ostoerä salkusta ja siirrytään seuraavalle ostoerälle algoritmin alkuun ja jatketaan, kunnes summa on nolla tai isompi kuin nolla.

4. Kun vaiheet on käyty läpi, lasketaan jäljelle jääneistä ostoeristä osakkeiden positio ja alkuperäinen ostomäärät ja näiden avulla lasketaan uudelleen salkun keskimääräinen kurssi. Meillä on nyt uusi salkkutilanne laskettuna.

Algoritmi on verraten yksinkertainen. Tärkeätä siinä on vain se että salkun ostoerät ovat tallessa ja muistaa että ostoeriä ei tarvitse mitenkään manipuloida kuin yhdessä tapahtumassa, jossa ostoerältä vähennetään positiota ja määrää. Jos haluaa laskea salkun tilanteiden kehitystä itse, tämä algoritmi on hyvä oppia ja tuntea. Jos tyytyy välittäjän luomiin raportteihin tai tuotoksiin omasta salkustaan, niin algoritmin tunteminen luonnollisestikin on turhaa.

Useimmille sijoittajille koko algoritmi on täysin tuntematon juttu.

Kommentit

Comments powered by Disqus