Växlingsavgift och avgifter på Avanza, Savr, Fondo?

Nytt försök! Läste lite på Jans ränta-på-ränta-sida och slutade med att jag gjorde ett skript för att räkna. Förhoppningsvis är det rätt :laughing:

Sista raden kallad “Växling” visar hur mycket man får ut efter sista växlingen. Växlingsavgift räknas på alla insättningar och uttag.

image

.

.

Exempelkörning av Python-skript:

./fond-kostnad.py --start=10000 --månad=1000 --avgift=1.69 --växling=0.25 --avkastning=6 --tid=10

Python-skript:
#!/usr/bin/python3

# thomasa88 räntekalkylator

import argparse
import math

arg_parser = argparse.ArgumentParser()
arg_parser.add_argument('--tid', type=int, default=10.0)
arg_parser.add_argument('--start', type=float, default=0.0)
arg_parser.add_argument('--månad', type=float, default=0.0)
arg_parser.add_argument('--avgift', type=float, default=0.0)
arg_parser.add_argument('--växling', type=float, default=0.0)
arg_parser.add_argument('--avkastning', type=float, default=0.0)
args = arg_parser.parse_args()

startkapital = args.start
månadssparande = args.månad
tidsperiod_år = args.tid

årlig_avkastning_procent = args.avkastning
årsavgift_procent = args.avgift
växlingsavgift_procent = args.växling

print(f'Startkapital:     {startkapital:5} kr')
print(f'Månadssparande:   {månadssparande:5} kr')
print()
print(f'Tidsperiod:       {tidsperiod_år:5} år')
print()
print(f'Årlig avkastning: {årlig_avkastning_procent:5.2f} %')
print(f'Årsavgift:        {årsavgift_procent:5.2f} %')
print(f'Växlingsavgift:   {växlingsavgift_procent:5.2f} %')
print()

dagar_per_år = 365.25

årsavgift = årsavgift_procent / 100

# Dagsavgiften är årsavgiften/365 per dag
# https://www.avanza.se/kundservice.html/585/nar-dras-kostnaden-for-forvaltningsavgiften/
årsavgift_per_dag = årsavgift / 365

årlig_avkastning = årlig_avkastning_procent / 100
daglig_avkastning = (1 + årlig_avkastning)**(1/dagar_per_år) - 1

växlingsavgift = växlingsavgift_procent / 100

tidsperiod_dagar = round(tidsperiod_år * dagar_per_år)
dagar_per_månad = dagar_per_år / 12

kapital = (1 - växlingsavgift) * startkapital
månad = 0
år = 0

print(f'Start:  {round(startkapital):9}')
print(f'Växling:{round(kapital):9}')

for dag in range(tidsperiod_dagar):
    if dag == math.ceil((månad + 1) * dagar_per_månad):
        månad += 1
        kapital += (1 - växlingsavgift) * månadssparande
    if dag == math.ceil((år + 1) * dagar_per_år):
        år += 1
        print(f'År {år:2}:  {round(kapital):9}')
    kapital += daglig_avkastning * kapital
    kapital -= årsavgift_per_dag * kapital

år += 1
print(f'År {år:2}:  {round(kapital):9}')
kapital -= växlingsavgift * kapital
print(f'Växling:{round(kapital):9}')
1 gillning