Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Ongelmia lainalaskurissa

Sivun loppuun

strayser [09.04.2007 19:55:44]

#

Koulusta tuli tehtävä ja olen ihan mykkä, voisiko joku auttaa. Olisin todella kiitolinen.

Tehtävän kuvaus on osoitteessa:

http://ohjus.lpt.fi/~koskiol/courses/ohj1material/07MEK02/HarjoitustyoLainalaskuri.htm

(Poistin viestistä tehtävän pitkän kuvauksen, koska se näyttää olevan lähes samanlaisena yllä olevassa osoitteessa. T: Moderaattori)

Tähän asti sain omin voimin, loput täytyy huutaa helpiä.

(Poistin koodin, kun ei siinä ollut kuin vasta valikko kysymässä, tasalyhenteinen vai tasaerälaina, ja funktioissa vain muuttujat määritelty ja linkin takana kuvattu periaate omin sanoin kuvattuna. T: Toinen moderaattori)

Metabolix [09.04.2007 20:35:56]

#

Hei, vähän yritystä nyt. Tuollahan on annettu aivan valmis pseudokoodi, ei tarvitse kuin muuttaa se C:ksi. Voit ihan rivi kerrallaan edetä siinä muunnoksessa, C-kielen perusteisiin suosittelen jotakin opasta tai mahdollisesti kurssimateriaalia. Ei ole paljon saatu aikaan koodissa, joka toimii kaiketi vain jollakin MS:n VC++:lla eli ei ole validia C:tä ja joka vain kommenteissa kertoo, että tässä pitäisi näitä laskuja tehdä. C-oppaasta selviää, kuinka käyttäjältä pyydetään syötteitä. Ohjelman laskentalogiikkahan oli tuolla valmiiksi annettu, ei tarvitse kuin määritellä muuttujat (helpoiten menee noilla samoilla nimillä), pyytää niihin arvoja (tai alustaa vakiolähtöarvot) ja muuttaa nuo pari silmukkaa annetusta algoritmista C:ksi.

Grez [09.04.2007 21:52:22]

#

[offtopic]Tuli vaan mieleen, että onko kukaan muuten huomannut, että rahalaitokset laskevat nuo kuukausikorot omaksi edukseen väärin. Sitä olen kysynyt eräästä rahoituslaitoksesta ja vastauksena kysymykseen oli että "olet kyllä oikeassa, mutta tämä on vakiintunut käytäntö". Toki käytäntö on ollut ihan perusteltu ennen tietokoneiden aikaa... Ja miksipä rahoituslaitokset lähtisivät niille edullista käytäntöä muuttamaan. Asiakasta taas viedään narussa ja vikisköön mitä haluaa.[/offtopic]

Mutta itse ongelmaan, niin missäköhän osa-alueessa tarkalleen ottaen tarvitset helppiä. Jos lähtisit tekemään tehtävää niin pitkälle kuin mahdollista itse ja sitten kun tulee seinä vastaan niin mietit ongelman joksikin lyhyeksi kysymykseksi johon vastauksen saamalla pääsisit eteenpäin. Näin esimerkiksi minulla voisi olla motivaatiota auttaa.

Jos postaat koko tehtävän tänne ja jätät koko ongelmanratkaisun muiden tehtäväksi niin ensinnäkään et opi itse mitään ja toisekseen kovin monella täällä tuskin riittää kiinnostusta lähteä tekemään tehtävääsi.

koo [10.04.2007 01:20:35]

#

Grez kirjoitti:

Ja miksipä rahoituslaitokset lähtisivät niille edullista käytäntöä muuttamaan.

Talletusten korot lasketaan samalla logiikalla, joten ei ehkä kannata ihan vielä huudella hannukarpoa apuun.

Kovin ihmeellisestä salaliitosta ei sikälikään taida olla kyse, että käsitteet nimelliskorko, efektiivinen korko ja todellinen vuosikorkokin on tunnettu jo jonkin aikaa.

Kyllä pankkiväki olisi varmaan saanut tarpeen vaatiessa laadittua taulukkokirjat tarkempia kertoimia varten, vaikkei tietokoneita olisi ollutkaan. Cobol-koodareille juuren ottaminen jakolaskun sijasta on voinut kyllä olla vähän paha nakki, mutta yhtä lailla nyky-über-koodari voi tehdä itsestään pässin double-tyypillä rahalaskuja tehdessään.

Ei tuo lainanlyhennyskaava matemaattisesti ihan oikein ole, mutta eiköhän se kumminkin ole aika käytännöllinen ja riittävän oikein. Suurempiakin vääryyksiä voisin kuvitella olevan.

Grez [10.04.2007 02:19:19]

#

Itse asiassa talletuksien korot lasketaan useimmissa pankeissa kerran vuodessa...

En ole Karpoa apuun huutelemassakaan. Lähinnä vaan totesin asian, kun mielestäni tuollainenkin asia voitaisiin tehdä "oikeinkin".

koo [10.04.2007 15:04:17]

#

Joo, talletusteten korot lasketaan kerran vuodessa - yhdellä kertaa kaikille vuoden tilitapahtumille. Niinhän tuo tehdään kaikille lainatilinkin tapahtumille, niille laskentaa ei tarvitse tehdä kuin yhden kerran ja sen voi tehdä etukäteen. Näin voi olla myös määräaikaisilla talletuksilla. Eri tilityypeillä ja pankeilla voi toki olla muitakin käytännön eroja.

Sillä, että tilin korko tilitetään tilille vain kerran vuodessa, ei ole merkitystä. Laskentaperiaate on sama, kuukausikorko on vuosikorko jaettuna 12:lla ja esimerkiksi päiväkorko on vuosikorko jaettuna 365:llä. Kausikorkokertoimia ei siis lasketa "oikein" vuosikorosta 12. tai 365. juuren avulla tai vielä täsmällisemmin jatkuvan koron yhtälöstä.

Minusta korkolaskennan oikea toteutus ei kumminkaan ole ihan niin yksinkertaista. Jos otetaan kymmenen vuoden kiinteäkorkoinen laina, jota lyhennetään joka kuukausi, vuosikorosta pitäisi ottaa 12. juuri, jota sitten korotellaan 120. potenssiin saakka, mutta laskennan välitulosten pitää kuitenkin olla maksettavissa olevaa rahaa. Mielelläni kuulisin, miten tuo tehdään "oikein" käytännössä ja miksi juuri se tapa on se "oikea".

Joitakin kompromisseja joudutaan kuitenkin tekemään. Näissä korkolaskuissa voidaan ihan hyvin ajatella virheen pysyvän hallinnassa talletusten ja lainojen samanlaisella kohtelulla. Vai oliko tässä vielä jokin muu juju?

Grez [10.04.2007 19:59:57]

#

koo kirjoitti:

Joo, talletusteten korot lasketaan kerran vuodessa - yhdellä kertaa kaikille vuoden tilitapahtumille. Niinhän tuo tehdään kaikille lainatilinkin tapahtumille

Kyllä ainakin minun lainatililläni korko veloitetaan joka kuukausi. Jos se veloitettaisiin vasta vuoden (vuosikorkoisen laina tapauksessa) lopussa, niin silloinhan kaikki menisi oikein.

koo kirjoitti:

Sillä, että tilin korko tilitetään tilille vain kerran vuodessa, ei ole merkitystä. Laskentaperiaate on sama, kuukausikorko on vuosikorko jaettuna 12:lla ja esimerkiksi päiväkorko on vuosikorko jaettuna 365:llä.

Jaa, että ei ole merkitystä tilitetäänkö korko kerran kuussa vai vuoden lopussa ei ole merkitystä mikäli kuukausikoron lasketaan olevan vuosikorko/12 ??

Noh, oletetaan että tilillä on vuoden alussa 10000 e ja vuosikorko on 12%. Jos korko maksetaan vuoden lopussa, niin vuoden lopussa tilillä on 11200e. Jos maksetaan joka kuukausi korkoa 1%, niin vuoden lopussa on noin 11268e. Tietysti jos kuukausittain laskettu korko erotettaisiin pääomasta, niin silloin ei tulisi korkoa korolle ja homma menisi oikein. Kuitenkin ainakin lainojen tapauksessa pankit lisäävät koron velkapääomaan (tai vastaavasti jos maksetaan rahaa pankkiin niin se käytetään koron lyhentämiseen eikä se silloin lyhennä velkapääomaa)

koo kirjoitti:

Minusta korkolaskennan oikea toteutus ei kumminkaan ole ihan niin yksinkertaista. Jos otetaan kymmenen vuoden kiinteäkorkoinen laina, jota lyhennetään joka kuukausi, vuosikorosta pitäisi ottaa 12. juuri, jota sitten korotellaan 120. potenssiin saakka

Miksi se korotettaisiin 120. potenssiin? Korkokanta on kuitenkin vuosikorko, jolloin se vaan pitää pitää korottaa 1/12 jotta saadaan kuukausikorko.

koo kirjoitti:

Mielelläni kuulisin, miten tuo tehdään "oikein" käytännössä ja miksi juuri se tapa on se "oikea".

Oletuksella, että lainan korko on vuoden pituinen korkojakso, niin kuukausikorko pitäisi laskea (vuosikorko+1)^(1/12)-1 TAI maksamalla korkokauden lopussa se määrätty korko. Tämä on oikea tapa sen vuoksi, että jos se tehdään väärällä tavalla, eli maksamalla kuukausikorkoa 1/12 vuosikorosta, saa lainan antaja täsmälleen saman summan rahaa, mutta etukäteen. Eli siis lainansaaja antaa lainanantajalle korotonta lainaa. Se on oikein myös siksi, että tuo on oikea tapa muuntaa korko eri pituudelle yleisemminkin. Eli jos vaikka 5 vuoden määräaikaistalletuksella vuosikorko on 5% niin koko viiden vuoden korkotuotto on n. 27,6%, ei 25%.

koo kirjoitti:

Joitakin kompromisseja joudutaan kuitenkin tekemään.

Joudutaan tekemään sen takia että kompromissi on "vakiintunut käytäntö", ei sen takia että se olisi "teknisesti välttämätöntä".

koo kirjoitti:

Näissä korkolaskuissa voidaan ihan hyvin ajatella virheen pysyvän hallinnassa talletusten ja lainojen samanlaisella kohtelulla. Vai oliko tässä vielä jokin muu juju?

Ei voida koska lainoja ja talletuksia ei kohdella samalla tavalla. Talletuksille korot maksetaan käytännössä aina oikein. Ja virhehän ei sinänsä ole suuri, keskikokoisella asuntolainalla nykykoroilla noin 10 euroa kuukaudessa lainanantajan hyväksi. Paljon enemmän vaikuttaa esimerkiksi se kuinka hyvän marginaalin saa pankista.

Ja tietenkin tuohon käytäntöönhän sitoutuu kun kirjoittaa lainasopimuksen, joten en nyt ole kritisoimassa tätä käytäntöä epäreiluna tms. Lähinnä vaan tuollainen epälooginen käytäntö vähentää lainakorkojen läpinäkyvyyttä.

koo [10.04.2007 22:55:38]

#

Lainatilin tapahtumat ovat periaatteessa tiedossa etukäteen. Korkolaskelman tarvitsee tehdä vain kerran. Sopimuksesta riippuen korko voidaan veloittaa tililtä 12 kertaa vuodessa. Kyllä, koska kuukausikoron lasketaan olevan 1/12 vuosikorosta, tulos poikkeaa siitä, jos kuukausittainen korkokerroin laskettaisin matemaattisen täydellisesti ottamalla vuosikorkokertoimesta 12. juuri (ja unohtamalla, että kuukaudet eivät sitten olleetkaan samanmittaisia). Kuukausikoron sijasta tässä voisi periaatteessa käyttää myös päivittäistä korkoa, mutta se sisältää ihan saman virhelähteen (paitsi että kuukausien pituudet tulevat edes jotenkin huomioitua).

Talletustilin tapahtumat eivät yleensä ole tiedossa etukäteen. Korkolaskenta täytyy siis tehdä vasta jälkikäteen. Korko täytyy laskea kaikille tilin tapahtumille ja korko hyvitetään tavallisesti kerran vuodessa. Sinänsä laskukaavan periaate on ihan sama kuin lainatilin tapauksessa, joten pankki ei siis saa tästä mitään erityistä etua. Käytännössä eroa tulee siitä, että koska tapahtumat ovat päivittäisiä, täytyy laskennassa käyttää päiväkorkoa, joka on yleensä 1/365 vuosikorosta. Virhettä toki tulee, sillä matemaattisen täydellisesti päivittäinen korkokerroin pitäisi laskea vastaavasti ottamalla vuosikorkokertoimesta 365. juuri.

Jos tekee pankin kanssa määräaikaisen talletussopimuksen ja sopii, että tililtä nostetaan joka kuukausi sama summa, saadaan peilikuva tuosta lainatapauksesta. Kyllä talletustilinkin korkolasku on päivä- tai kuukausiperustaista, vaikka korkohyvitys tilitettäisiin kerran vuodessa. Sikäli kun lopputuloksen summissa on eroa, se johtuu osamäärien käytöstä juurten sijasta, ei siitä että korko hyvitettiin kerralla.

Pointti siis kuitenkin on, että rahalaitosten korkolaskenta talletuksille ja lainoille tehdään saman mallin mukaan, joten ne eivät saa mallista systemaattista hyötyä. Paljon enemmän kertyy pätäkkää rehellisesti korkomarginaalien avulla tai muita ehtoja asettelemalla. Voihan sitä tietty lainanottajakin yrittää sellaista suunnitelmaa, että lyhentää lainaa vain kerran vuodessa, jolloin tarvetta kuukausilaskennalle ei ole.

Sovellettava kaava on käytännöllinen yksinkertaistus matemaattisesti oikeammasta kaavasta. Poikkeama ei kuitenkaan ole mikään uutinen, sillä käsitteet nimelliskorko ja efektiivinen korko (ja jälkimmäisen approksimaatio, kuluttajasuojalain mukainen todellinen vuosikorko) on talousmatematiikassa tunnettu iät ja ajat.

Matemaattisesti oikeampi kaava ei ole aivan yksinkertaista toteuttaa. Kuukausikorkokerroin saadaan ottamalla vuosikorkokertoimesta 12. juuri (eli siis korottamalla potenssiin 1/12). Tämä tapahtuu sitten jollain tarkkuudella. Kun laina-aika on 10 vuotta, kuukausikorkokerroin tulee korotettua potenssiin 120, koska korkohan lasketaan korolle kuukausittain kymmenen vuoden ajan. Kuukausittainen laskenta on välttämättömyys, sillä muutoin kuukausittaiset lyhennykset eivät tule oikein huomioitua. Joka tapauksessa, tämä on numeerisesti aika herkkää puuhaa. Toisaalta jokainen välitulos (maksuerä) pitääkin sitten pyöristää sentteihin, eli samalla tarkkuutta pitää suorastaan hävittää, joten matemaattiseen ideaaliin ei siltikään päästä. Toisaalta voisi olla vielä oikeampaa laskea päivittäisillä korkokertoimilla tai vaikka jatkuvalla korolla. Ottaen huomioon miten vaikeaa ainakin minun on ollut saada jotkut tajuamaan, miten kaksijärjestelmään perustuvan liukulukuesityksen kanssa lukuja ei nyt kertakaikkiaan vaan saa pyöristettyä täsmällisesti oikein esmes kymmenesosiin, voisi olla raskaanpuoleista setviä, kuinka eurojen kanssa käytetään luonnollista logaritmia ja vakiota e. Välttämättömyydestä en tiedä - sehän riippuu viime kädessä lainsäädännöstä - mutta vaihtoehtoiset laskentatavat ovat ainakin teknisesti haasteellisia.

Grez [10.04.2007 23:30:28]

#

Minusta tuntuu, että olennaisin pointtini on jäänyt kokonaan sivuun. Kommentoin tuossa silti noihin väitteisiisi.

Pointti on se, että tällä hetkelä, mikäli vuosikorkoperusteiselle lainalle ei määritellä mitään muita kuluja kuin korko, on lainan efektiivinen vuosikorko suurempi, kuin lainan perusteena oleva vuosikorko. Mikäli korko laskettaisiin matemaattisesti oikein, olisi efektiivinen vuosikorko sama, kuin lainan perusteena oleva vuosikorko.

Mitään teknistä perustetta nykykäytännölle ei ole. Ainoa näennäisesti järkevä peruste on se, että matemaattisesti lahjattomalle on helpompi laskea se kuukausikorko.

Näkisin että ainoa syy, miksi nykykäytäntöä jatketaan on se, että asiasta jotain ymmärtävät ovat yleensä ne, jotka hyötyvät tästä käytännöstä.

koo kirjoitti:

Lainatilin tapahtumat ovat periaatteessa tiedossa etukäteen. Korkolaskelman tarvitsee tehdä vain kerran. Sopimuksesta riippuen korko voidaan veloittaa tililtä 12 kertaa vuodessa. Kyllä, koska kuukausikoron lasketaan olevan 1/12 vuosikorosta, tulos poikkeaa siitä, jos kuukausittainen korkokerroin laskettaisin matemaattisen täydellisesti ottamalla vuosikorkokertoimesta 12. juuri (ja unohtamalla, että kuukaudet eivät sitten olleetkaan samanmittaisia). Kuukausikoron sijasta tässä voisi periaatteessa käyttää myös päivittäistä korkoa, mutta se sisältää ihan saman virhelähteen (paitsi että kuukausien pituudet tulevat edes jotenkin huomioitua).

Itse asiassa pankithan veloittavat korot kaavalla <vuosikorko>*<kuukauden päivät>/365.

koo kirjoitti:

Talletustilin tapahtumat eivät yleensä ole tiedossa etukäteen. Korkolaskenta täytyy siis tehdä vasta jälkikäteen. Korko täytyy laskea kaikille tilin tapahtumille ja korko hyvitetään tavallisesti kerran vuodessa. Sinänsä laskukaavan periaate on ihan sama kuin lainatilin tapauksessa, joten pankki ei siis saa tästä mitään erityistä etua.

Pankki saa sen edun lainaan verrattuna, että sen ei tarvitse maksaa päivittäin/kuukausittain laskettua korkoa kuin vasta vuoden lopussa, niinkuin se kuuluisi maksaa lainakin tapauksessa. Jos pankki maksaisi korot kerran kuukaudessa jakamalla vuosikoron jakokaavalla, ja maksaisi näille pääomaan lisätyille koroille uudelleen korkoa, muodostuisi vuosikoroksi korkeampi kuin mitä tällä hetkellä, aivan kuten lainoille muodostuu.

koo kirjoitti:

Jos tekee pankin kanssa määräaikaisen talletussopimuksen ja sopii, että tililtä nostetaan joka kuukausi sama summa, saadaan peilikuva tuosta lainatapauksesta.

Lisäksi täytyisi pankin kanssa sopia, että pankki maksaa koron talletustilille kerran kuukaudessa kuukausikorolla, joka määrittyy vuosikorosta jakokaavalla.

koo kirjoitti:

Sikäli kun lopputuloksen summissa on eroa, se johtuu osamäärien käytöstä juurten sijasta, ei siitä että korko hyvitettiin kerralla.

Eh, eli silläkö ei sinun mielestäsi ole mitään merkitystä saatko miljoona euroa tänään vai vasta vuoden päästä? Jos et tarvitse rahoja vielä, voit varmaan sijoittaa ne johonkin vuodeksi ja saada enemmän rahaa vuoden lopussa. Tai jos tarvitset rahat nyt, niin jos saisit ne vasta vuoden lopussa, joutuisit lainaamaan jostain sen miljoonan vuodeksi ja maksamaan korot.

Kuten huomaat, tuossa järkeilyssäsi, että koron pääomaanlisäysajankohta on epäolennainen ei ole mitään perää.

koo kirjoitti:

Pointti siis kuitenkin on, että rahalaitosten korkolaskenta talletuksille ja lainoille tehdään saman mallin mukaan, joten ne eivät saa mallista systemaattista hyötyä.

Yritäpä hankkia pankista tili jolle maksetaan korko kerran kuukaudessa, kuukausikorolla joka on <vuosikorko>/12 (tai <vuosikorko>*<kk päivät>/365). Siinä vaiheessa kun tuossa onnistut voi olla samaa mieltä kanssasi.

koo kirjoitti:

Paljon enemmän kertyy pätäkkää rehellisesti korkomarginaalien avulla tai muita ehtoja asettelemalla.

. Toki, näinhän sanoin itsekin. Siksi mielestäni onkin aika hullua määritellä laskukaavat, jotka tekevät koron epäläpinäkyväksi ja korkolaskelmat monimutkaisemmiksi kuin mitä ne olisivat mikäli laskennat tehtäisiin matemaattisesti oikein.

koo kirjoitti:

Matemaattisesti oikeampi kaava ei ole aivan yksinkertaista toteuttaa.

Millä perusteella? Varsinkin nykyaikana taskulaskimet ja tietokoneet ovat erittäin edullisia suhteessa tehoon.

koo kirjoitti:

Kuukausikorkokerroin saadaan ottamalla vuosikorkokertoimesta 12. juuri (eli siis korottamalla potenssiin 1/12). Tämä tapahtuu sitten jollain tarkkuudella. Kun laina-aika on 10 vuotta, kuukausikorkokerroin tulee korotettua potenssiin 120, koska korkohan lasketaan korolle kuukausittain kymmenen vuoden ajan.

Eli ratkaisu ongelmaan, että riittävän moneen kertaan juuren ottamalla saadaan 0,0000001% virhe on se, että otetaan käyttöön järjestelmä jolla saavutetaan 1% virhe?

koo kirjoitti:

Toisaalta jokainen välitulos (maksuerä) pitääkin sitten pyöristää sentteihin, eli samalla tarkkuutta pitää suorastaan hävittää, joten matemaattiseen ideaaliin ei siltikään päästä.

Pankit laskevat tilien (myös lainatilien) saldot sisäisesti (ainakin) neljän desimaalin tarkkuudella.

Mutta vaikka tuossa tulisi sentinkin virhe joka toinen kuukausi, niin mielestäni se olisi pienempi paha kuin 10 euron virhe joka kuukausi, joka nykyisellä systeemillä tulee.

koo kirjoitti:

Välttämättömyydestä en tiedä - sehän riippuu viime kädessä lainsäädännöstä - mutta vaihtoehtoiset laskentatavat ovat ainakin teknisesti haasteellisia.

Mielestäni on haasteellisempaa käyttää laskuissa matematiikan ulkopuolisella sääntelyllä määritettyä epäloogista approksimaatiota kuin pyrkiä laskemaan oikein jollakin tarkkuudella.

Tekninen haasteellisuus oli varmasti päämotivaationa sillä jenkkilaillakin, jolla oltaisiin lailla määritelty piin arvoksi tasan 4. Olisihan se ollut helpompaa laskea sillä nelosella kuin tuollaisella hankalalla päättymättömällä jaksottomalla luvulla. Silti tuollainen "liian monimutkaisen matematiikan yksinkertaistaminen" lailla ei mielestäni ole pitkällä juoksulla järkevää.

koo [11.04.2007 08:14:37]

#

Grez kirjoitti:

Pointti on se, että tällä hetkelä, mikäli vuosikorkoperusteiselle lainalle ei määritellä mitään muita kuluja kuin korko, on lainan efektiivinen vuosikorko suurempi, kuin lainan perusteena oleva vuosikorko. Mikäli korko laskettaisiin matemaattisesti oikein, olisi efektiivinen vuosikorko sama, kuin lainan perusteena oleva vuosikorko.

Juu, tässä ei ole mitään epäselvää.

Grez kirjoitti:

Mitään teknistä perustetta nykykäytännölle ei ole. Ainoa näennäisesti järkevä peruste on se, että matemaattisesti lahjattomalle on helpompi laskea se kuukausikorko.

Jos koko juttu keksittäisiin nyt, esteitä toisenlaisille käytännöille ei ehkä olisi. Vallitsevalle lainsäädännölle saattaapi kuitenkin ollut joskus ollut hyvät perusteet eikä riittävän painokkaita syitä käytännön muuttamiseen välttämättä ole. Matemaattisesti lahjakkaat ovat ihan vapaasti saaneet laskeskella efektiivistä korkoprosenttia keskivertomerkonoomien kuukausiprosenteille tähänkin saakka.

Grez kirjoitti:

Näkisin että ainoa syy, miksi nykykäytäntöä jatketaan on se, että asiasta jotain ymmärtävät ovat yleensä ne, jotka hyötyvät tästä käytännöstä.

Tässä näkemyksemme eroavat. Rahalaitokset ovat vuorovaikutuksessa useampaan suuntaan. Ne soveltavat samaa laskentatapaa rahan ostamisessa ja myymisessä niin kuluttajien kuin muidenkin rahalaitosten ja toimijoiden kanssa.

Grez kirjoitti:

Pankki saa sen edun lainaan verrattuna, että sen ei tarvitse maksaa päivittäin/kuukausittain laskettua korkoa kuin vasta vuoden lopussa, niinkuin se kuuluisi maksaa lainakin tapauksessa. Jos pankki maksaisi korot kerran kuukaudessa jakamalla vuosikoron jakokaavalla, ja maksaisi näille pääomaan lisätyille koroille uudelleen korkoa, muodostuisi vuosikoroksi korkeampi kuin mitä tällä hetkellä, aivan kuten lainoille muodostuu.

Virhettä syntyy siinä, että esmes päivittäisessä korossa käytetään jakolaskua, ei juurta, jolloin virhe on nimenomaan koron kertymisessä korolle.

Käyttelytilillä tilitapahtumia voi olla päivittäin. Kaikille tapahtumille on lasketaan päivittäinen korko kertymäjakson (vuoden) loppuun saakka. Laskenta ottaa tilitapahtumapäivän ja laskentapäivän välisen etäisyyden huomioon, eli summalle kertyy korkoa korolle.

Ellei näin olisi, mille talletustilin saldolle vuotuinen korko lasketaan, jos vuoden mittaan on ollut esimerkiksi 150 erisuuruista tilitapahtumaa? Lainatilillä ei ole tässä mitään muuta eroa kuin se, että tilitapahtumat ovat paremmin ennustettavissa ja jaksotietoja voidaan yksinkertaistaa. Lasketut korkokertoimet voivat olla erilaiset, mutta itse laskentaperiaate ja sen virheellisyys - korkokertoimen perustuminen osamääriin juurten sijasta - ovat samat.

Grez kirjoitti:

Lisäksi täytyisi pankin kanssa sopia, että pankki maksaa koron talletustilille kerran kuukaudessa kuukausikorolla, joka määrittyy vuosikorosta jakokaavalla.

Jokaiselle tilitapahtumalle lasketaan korkoa korolle vaikka hyvitys tehtäisiin kerran vuodessa. Miten tilillä ollut vaihteleva rahamäärä muuten edes saataisiin otettua oikein huomioon ajan suhteen? Ja jos vaihtelevaa summaa ei oteta huomioon, miten se korko ylipäätään sitten lasketaan? Tämähän menee ihan samoin kuin lainatapauskin, vuoden lopussa kertynyt korkosumma on ihan sama, oli se sitten mukana tilillä vuoden mittaan tai ei, koska se on kuitenkin mukana laskennassa. Eroa voi kyllä syntyä muista sopimusehdoista.

Grez kirjoitti:

Eh, eli silläkö ei sinun mielestäsi ole mitään merkitystä saatko miljoona euroa tänään vai vasta vuoden päästä? Jos et tarvitse rahoja vielä, voit varmaan sijoittaa ne johonkin vuodeksi ja saada enemmän rahaa vuoden lopussa. Tai jos tarvitset rahat nyt, niin jos saisit ne vasta vuoden lopussa, joutuisit lainaamaan jostain sen miljoonan vuodeksi ja maksamaan korot.

Sillä, saanko miljoonan tänään vai vuoden päästä on merkitystä, mutta ei tässä korkolaskentapulmassa. Jos olen saamassa korkotuottoa vuoden mittaan jonkun summan, sillä ei ole merkitystä, lisätäänkö se tililleni vähitellen vai vuoden lopuksi, sillä vuoden lopussa kertynyt summa on sama, jos vain se korkokerroin olisi laskettu matemaattisesti oikein (eivätkä pyöristyserot vaikuttaisi). Ihan sama pätee lainan korkoon, sama maksettava summa on kertynyt vuoden lopussa, sillä laskennan aikaulottuvuus otetaan huomioon korkona korolle.

Talletuksen tapauksessa se vähitellen hyvitetty korko ei yksinkertaisesti ole käytettävissäni muuhun sijoitustoimintaan. Jos nimittäin nostan sen pois tililtä, sille lakkaa kertymästä korkoa korolle ja näin vuoden loppuun kertyvä arvo ei enää olisikaan sama.

Grez kirjoitti:

Yritäpä hankkia pankista tili jolle maksetaan korko kerran kuukaudessa, kuukausikorolla joka on <vuosikorko>/12 (tai <vuosikorko>*<kk päivät>/365). Siinä vaiheessa kun tuossa onnistut voi olla samaa mieltä kanssasi.

Nuorena miehenä muistaakseni, kun korot olivat paaljon korkeammalla ja ne vaihtelivat roimasti, pankit hyvittivät korkoja talletuksille kuukausittain juurikin tuohon malliin perustuen. Harmi vain, että tilisopimuksissa oli muita ehtoja - kuten alimman tilisaldon käyttäminen koko kuun laskennallisena saldona - jotka leikkasivat korkotuottoa. Nyt rahayksikkö on muuttunut, korkokanta vakaan alhainen ja pankit suosivat hyvityskäytäntöä, jossa yksittäiset korkohyvitykset eivät huku senttipyöristyksiin ja jonka verotuskäsittely on yksinkertaista toteuttaa. Pankit ovat melko vapaasti saaneet muuttaa tuota hyvityskäytäntöä, kun kaikki asiaa ymmärtävät - ehkä sinua lukuunottamatta - ovat huomanneet, että kokonaistulos on kuitenkin periaatteessa sama.

Grez kirjoitti:

koo kirjoitti:

Matemaattisesti oikeampi kaava ei ole aivan yksinkertaista toteuttaa.

Millä perusteella? Varsinkin nykyaikana taskulaskimet ja tietokoneet ovat erittäin edullisia suhteessa tehoon.

Koska ensin pitäisi päättää, mikä kaava tarkalleen ottaen valitaan oikeaksi, sitten muuttunut käytäntö täytyy saada ohjeistettua lainsäädäntöön ja lopulta se pitää saada noihin vehkeisiin ohjelmoitua oikein. Korkolaskun ongelmallisuus on siinä, että se on numeerisesti kovin herkkää. Yksinkertainen, käytännössä kokeiltu ja kohtalaisen ennustettava - vaikkakin määritelmänsä mukaisesti tiettyä virhettä sisältävä - menetelmä voi olla silti riittävän hyvä. Varsinkin kun kahteen suuntaan toimivat rahalaitokset käyttävät samaa menetelmää molempiin suuntiin, jolloin virhe niiden osalta kumoutuu.

Grez kirjoitti:

Pankit laskevat tilien (myös lainatilien) saldot sisäisesti (ainakin) neljän desimaalin tarkkuudella.

Juuh, mutta silloin kun tositteessa on jokin summa, kaikki siitä seuraava laskenta perustuu vain summan näkyvissä oleviin numeroihin.

Grez kirjoitti:

Mielestäni on haasteellisempaa käyttää laskuissa matematiikan ulkopuolisella sääntelyllä määritettyä epäloogista approksimaatiota kuin pyrkiä laskemaan oikein jollakin tarkkuudella.

Tekninen haasteellisuus oli varmasti päämotivaationa sillä jenkkilaillakin, jolla oltaisiin lailla määritelty piin arvoksi tasan 4. Olisihan se ollut helpompaa laskea sillä nelosella kuin tuollaisella hankalalla päättymättömällä jaksottomalla luvulla. Silti tuollainen "liian monimutkaisen matematiikan yksinkertaistaminen" lailla ei mielestäni ole pitkällä juoksulla järkevää.

Matematiikka on tietenkin matematiikkaa, mutta talousmatematiikassa taustalla jyllää oma dynamiikkansa. Esimerkiksi insinöörimatematiikassa vaikuttavat luonnonlait, talouslaskennassa vaikuttavat myös ihmisten eri syistä säätämät lait, jotka eivät aina ole pelkästään matematiikkaan pohjautuvia.

Tämän(kin) yksittäisen kaavan muuttamisessa on teknisiä haasteita, jotka liittyvät oikean toteutuksen tekemiseen eivätkä kaikki haitat, hyödyt ja valinnat ole aivan kiistattomia.

Muuten olen sitä mieltä, että piin arvoon liittyvästä jenkkilainsäädännöstä levitetään aivan turhan paljon perätöntä tietoa.

Grez [11.04.2007 11:42:20]

#

koo kirjoitti:

Grez kirjoitti:

Näkisin että ainoa syy, miksi nykykäytäntöä jatketaan on se, että asiasta jotain ymmärtävät ovat yleensä ne, jotka hyötyvät tästä käytännöstä.

Tässä näkemyksemme eroavat. Rahalaitokset ovat vuorovaikutuksessa useampaan suuntaan.

No joo, tuo sanomani ei kuvastanut hirveän hyvin sitä mitä tarkoitin. Eli tosiaankin varmaan suurin syy on se, että jo muodostuneen käytännön muuttaminen on työlästä, eikä kenelläkään ole hirveän suurta intressiä lähteä muuttamaan sitä. Mutta tarkoitin sitä, että ne joille on suurin euromääräinen merkitys asiasta ovat "voitolla" tästä. Eli ne jotka antavat lainaa suuremmalla korolla kuin ottavat lainaa voittavat, joten he tuskin lähtevät ajamaan asiaa. Jos tilanne olisi toisinpäin, niin en ihmettelisi vaikka asian muuttamista ajettaisiin.

koo kirjoitti:

Käyttelytilillä tilitapahtumia voi olla päivittäin. Kaikille tapahtumille on lasketaan päivittäinen korko kertymäjakson (vuoden) loppuun saakka. Laskenta ottaa tilitapahtumapäivän ja laskentapäivän välisen etäisyyden huomioon, eli summalle kertyy korkoa korolle.

Siis tuo ei kylläkään kerrytä korkoa korolle, vaan se vaan huomioi keskimääräisen saldon korkoa laskettaessa. Tietysti sille tilille muodostuu korkoa korolle sen vuodenvaihteen jälkeen, kun korko hyvitetään tilille. Ja näinhän sen pitääkin mennä luonnollisesti.

koo kirjoitti:

Lainatilillä ei ole tässä mitään muuta eroa kuin...

Ja mainitsemiesi seikkojen lisäksi se ero, että korko pääomitetaan kerran kuukaudessa, vaikka se pitäisi pääomittaa kerran vuodessa (kun tili perustuu vuosiperusteiseen korkoon.) Korko voitaisiin toki pääomittaa kuukausittain ekvivalenttisesti laskemalla kuukausikorko juurikaavalla, mutta näin ei tehdä.

koo kirjoitti:

Jokaiselle tilitapahtumalle lasketaan korkoa korolle vaikka hyvitys tehtäisiin kerran vuodessa. Miten tilillä ollut vaihteleva rahamäärä muuten edes saataisiin otettua oikein huomioon ajan suhteen?

Ei lasketa vuoden sisällä korkoa korolle. Vaihteleva rahamäärä saadaan otettua huomioon monella erilaisella kaavalla, joissa kaikissa on sama lopputulos. Nämä menevätkin ihan oikein.

koo kirjoitti:

Tämähän menee ihan samoin kuin lainatapauskin, vuoden lopussa kertynyt korkosumma on ihan sama, oli se sitten mukana tilillä vuoden mittaan tai ei, koska se on kuitenkin mukana laskennassa.

Pääomittamaton korko ei muuten ole mukana koron laskennassa. Kannattaa tarkistaa ne faktat.

koo kirjoitti:

Sillä, saanko miljoonan tänään vai vuoden päästä on merkitystä, mutta ei tässä korkolaskentapulmassa. Jos olen saamassa korkotuottoa vuoden mittaan jonkun summan, sillä ei ole merkitystä, lisätäänkö se tililleni vähitellen vai vuoden lopuksi, sillä vuoden lopussa kertynyt summa on sama, jos vain se korkokerroin olisi laskettu matemaattisesti oikein

No niin, lihavoin (koska alleviivausta ei näköjään voi käyttää) olennaisen kohdan. Huomasit siis itsekin, että koska sitä korkokerrointa ei lasketa matemaattisesti oikein, niin sillä on merkitystä milloin sen koron saat.

koo kirjoitti:

Koska ensin pitäisi päättää, mikä kaava tarkalleen ottaen valitaan oikeaksi

No tämähän on todellinen epäongelma. Vaihtoehtoja on tasan yksi, ellei haluta siirtyä yhdestä virheestä toiseen virheeseen. Siinä olet oikeassa, että ne muutoksen käyttöönoton ongelmat kyllä ovat olemassa.

koo kirjoitti:

Korkolaskun ongelmallisuus on siinä, että se on numeerisesti kovin herkkää. Yksinkertainen, käytännössä kokeiltu ja kohtalaisen ennustettava - vaikkakin määritelmänsä mukaisesti tiettyä virhettä sisältävä - menetelmä voi olla silti riittävän hyvä.

Toki se voi olla riittävän hyvä. Edelleen en ymmärrä tuollaista järjetöntä "herkkyys"perustelua. Jos vaihtoehtona on se, että tulee 0,00000001 euron virhe "herkkyyden" takia ja se, että tulee 10 euron virhe sen takia että "herkkyys" saadaan keinotekoisesti vältettyä takia, niin minusta tuo virhe on maailman huonoin perustelu vältellä "herkkyyttä" keinotekoisesti.

koo kirjoitti:

Varsinkin kun kahteen suuntaan toimivat rahalaitokset käyttävät samaa menetelmää molempiin suuntiin, jolloin virhe niiden osalta kumoutuu.

Kumoutuu tosiaan, mikäli marginaali on 0.

koo kirjoitti:

Grez kirjoitti:

Pankit laskevat tilien (myös lainatilien) saldot sisäisesti (ainakin) neljän desimaalin tarkkuudella.

Juuh, mutta silloin kun tositteessa on jokin summa, kaikki siitä seuraava laskenta perustuu vain summan näkyvissä oleviin numeroihin.

Vastauksesi on sinänsä paikkansapitävä, mutta mitään tekemistä sillä ei ole sen kanssa mihin vastasit. Laskenta ei ole tositteista seuraavaa vaan tositteet on laskennoista seuraavia.

koo kirjoitti:

Tämän(kin) yksittäisen kaavan muuttamisessa on teknisiä haasteita, jotka liittyvät oikean toteutuksen tekemiseen eivätkä kaikki haitat, hyödyt ja valinnat ole aivan kiistattomia.

Haasteet eivät ole teknisiä vaan käytännöllisiä. Ellet sitten tarkoittanut että muutoksen tekeminen järjestelmään sinänsä on tekninen haaste. Ja valinnat nyt selkeästi ovat kiistattomia, mikäli ylipäätään halutaan parantaa tilannetta.

koo kirjoitti:

Muuten olen sitä mieltä, että piin arvoon liittyvästä jenkkilainsäädännöstä levitetään aivan turhan paljon perätöntä tietoa.

Siis eihän se ollutkaan lainsäädäntöä vaan lakiehdotus.

TsaTsaTsaa [11.04.2007 11:52:39]

#

Pitäisikö tämä siirtää jo yleisen keskustelun puolelle?

Grez [11.04.2007 12:08:41]

#

Ainakin jos osathreadin voi siirtää, niin threadin 4. postauksesta eteenpäin (eli koon ekasta) voisi siirtää.

koo [11.04.2007 16:27:21]

#

Alussa väite oli, että rahalaitokset laskevat tahallaan edukseen väärin. Samaa laskentaperiaatetta (tarkalleen ottaen osajaksokoron ja koronkoron approksimointia osamäärän avulla) kuitenkin käytetään sekä anto- että ottolainauksessa, joten ei se nyt ihan noin voi olla. Tästä puhuin ensimmäisessä viestissäni.

Kyse olikin sitten tarkemmin siitä, että korko lasketaan lainalle 12 kertaa vuodessa ja talletukselle kerran. Efektiivinen korko ei kuitenkaan riipu siitä, milloin korko lasketaan - tai tarkemmin ottaen, milloin korko hyvitetään/veloitetaan. Hyvittämätön/veloittamaton korko on mukana korkolaskennassa aikatekijän muodossa - ja tämä on kyllä ihan fakta. Aina kun aikaväli ulottuu useamman (osa-) jakson yli, lasketaan myös koronkorkoa eikä pelleillä millään keskimääräisillä saldoilla.

Mallitapauksissa nimelliskoron ja efektiivisen koron ero johtuu vain ja ainoastaan korkokertoimen laskentavirheestä, joka syntyy kun kerroin lasketaan jakolaskulla eikä juurenottoon perustuen. Kertoimessa on virhe, mutta esimerkiksi lainapääoman nostoja ja lyhennyksiä kohdellaan kuitenkin samalla tavalla.

Lainat ja talletukset eivät ole toistensa täydellisiä peilikuvia, mutta tämä johtuu kyllä ensisijaisesti sopimusehdoista ja marginaaleista eikä "väärin laskemisesta" eli erilaisen laskentaperiaatteen soveltamisesta.

Laskentamenetelmässä on toki joka tapauksessa virhe, sillä korkokertoimia approksimoidaan yksinkertaisesti. Ei silti ole aivan yksikäsitteistä, mikä lopulta olisi se ainoa oikea menetelmä. Kyllähän nykyäänkin käytetään vuosi-, kuukausi-, viikko- ja päiväjaksoja, mutta miksei samalla vaikkapa sekunteja, sillä eihän tilitapahtumien tarkemmillekaan aikaleimoille ole teknisiä esteitä. Pitäisikö saman tien siirtyä jatkuvan koron lausekkeeseen? Vaihtoehtoja ja varsinkin toteutustapoja on enemmän kuin tasan yksi.

Korkolaskun perustana oleva eksponentiaalisuus on teknisesti haasteellista, sillä tulokset ovat herkkiä esimerkiksi laskujärjestykselle ja lukujen sisäiselle tarkkuudelle.

Kirjanpidossa taas tärkeää on tietty osoitettavuus ja ennustettavuus, joten laskelman ja tositteen välinen riippuvuus ei ole ihan niin yksinkertainen. Palikkaesimerkki: Jos ostan värkin, jonka veroton hinta on 8,20 pitänee siitä maksaa alv:n kanssa 10,00. Jospa ostankin kaksi värkkiä, onkos hinta 20,00 vai 20,01? Jonkinmoista kompromissia joutuu joka tapauksessa tekemään, kun vastaavanlaiset ulkomatemaattisetkin laskentavaatimukset otetaan huomioon ja talousmatematiikassa ne nyt vaan täytyy ottaa huomioon.

Muuten olen sitä mieltä, että piin arvoon liittyvästä jenkkilainsäädännöstä - lakiehdotukset mukaanlukien - levitetään aivan turhan paljon perätöntä tietoa.

Grez [11.04.2007 18:14:51]

#

Tuossa tekstissäsi on monta asiaa jotka eivät ole todellisuudessa niinkuin niiden väität olevan. Mutta en jaksa enää toista tai kolmatta kertaa oikoa niitä. Selvästikin olet päättänyt että asiat ovat tietyllä tavalla, etkä vaivaudu tarkistamaan niitä.

Mutta tähän nyt haluan kuitenkin vielä palata:

koo kirjoitti:

Ei silti ole aivan yksikäsitteistä, mikä lopulta olisi se ainoa oikea menetelmä.

Jos olisikin vain useita väärän tuloksen antavia menetelmiä, niin en olisi päätäni alunperin aukonutkaan. Silloin olisi luonnollista että täytyy valita monesta virheellisestä menetelmästä jokin. Mutta kun on olemassa yksinkertainen, selkeä, matemaattisesti elegantti ja joka kerta oikeat tulokset antava menetelmä, niin mielestäni minulla on oikeus kritisoida huonomman menetelmän käyttöä.

Itsekin kuvittelet selvästi että tämä menetelmävirheetön järjestelmä olisi käytössä, kun sanot että ei ole lopputuloksen kannalta merkitystä milloin korko pääomitetaan. Ei olisikaan, jos käytettäisiin sitä ainoaa oikeaa menetelmää. Todellisuudessa sitä ei kuitenkaan käytetä, joten ajankohdalla on merkitystä.

koo [11.04.2007 20:30:48]

#

Ylimalkaiset väittämät ruokkivat hyvin keskustelua. Valitan, että tulkintani kommenteistasi ovat villejä vaikka olen kyllä kommenttejasi yrittänyt tulkita parhaan tahtoni mukaan.

Voihan olla, että väitteissäni on runsaasti virheitä ja on tosi harmi, etten nähnyt niiden tulleen korjatuiksi. Ehkäpä esimerkiksi keskustelu siitä, saanko miljoonan tänään vai vuoden päästä sai ajatukseni harhailemaan.

Mainitsin melko aikaisin laskentamenetelmän virhelähteen, joten minulla on kyllä saattanut olla jakelussa aavistus oikeasta laskentatavasta. Korvaavan laskentamenetelmän "oikeellisuus" ei vain ole ihan niin yksinkertainen juttu ympäristössä, jossa täytyy ottaa huomioon teknisiä ja ihmisten asettamia rajoituksi ja jossa esimerkiksi "virhe" saa eri merkityksiä sen mukaan, keneltä kysyy.

Ja se "väärin laskeminen" ei sitten lopulta ollutkaan varsinaisesti erilaisten laskentaperiaatteiden soveltamista vaan sopimusehdoista johdettua.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta