Das ganze kommt aus dem Bereich Glücksspiel und soll eine einfache Risikoberechnung sein.
Wie haben mit Geld zu tun und mit einem Risikofaktor der von der Höhe des Geldbetrags abhängt.
Die Definition besagt:
Bei einer Verdreifachung des eingesetzten Geldbetrags darf sich der Risikofaktor nur verdoppeln.
Folgende Startwerte sind gegeben:
Bei Geld = 500,- Euro ist der Risikofaktor = 0.0100
Die 500 Euro sind damit auch der kleinste Einsatz, da der Risikofaktor nicht kleiner als 0.01 werden kann.
Machen wir also mal ein Beispiel bei dem der Geldbetrag immer verdreifacht wird und das Risiko verdoppelt:
Code: Alles auswählen
Geld : 500 | 1500 | 4500 | 13500 | 40500
Risiko: 0.01 | 0.02 | 0.04 | 0.08 | 0.16
Ich bin da jetzt nur auf eine Berechnung gekommen die nur innerhalb des Bereichs einer Verdreifachung funktioniert, weil dafür die Rahmenwerte vorhanden sind.
Also ich könnte mit der unten genannten Berechnung das Risiko für alle Beträge zwischen 500,- und 1499,- berechnen. Wollte ich aber z.B. das Risiko für 15690,- Euro berechnen, dann müsste ich wieder in die obige Tabelle gucken, um die Rahmenwerte abzulesen (13500 | 40500 und 0.08 | 0.16).
Da muss es doch irgend eine Formel geben mit der man das ohne diese Rahmenwerte berechnen kann, oder? Würde man das Ganze in ein Koordinatenkreuz übertragen, dann wäre es wohl eine Exponentialfunktion.
Hier noch meine Berechnung für beispielsweise 700,- Euro:
Code: Alles auswählen
EnableExplicit
Define.d Geld, GeldRahmenUnten, GeldRahmenOben, GeldDifferenz, GeldRahmenBereich
Define.d RisikoRahmenUnten, RisikoDifferenzProEuro, Risiko
; Geld : 500 | 1500 | 4500 | 13500 | 40500
; Risiko: 0.01 | 0.02 | 0.04 | 0.08 | 0.16
Geld = 700 ; Für diesen Betrag berechnen wir das passende Risiko
GeldRahmenUnten = 500 ; Wert aus der Tabelle
GeldRahmenOben = 1500 ; Wert aus der Tabelle
RisikoRahmenUnten = 0.01 ; Wert aus der Tabelle
GeldRahmenBereich = GeldRahmenOben - GeldRahmenUnten
GeldDifferenz = Geld - GeldRahmenUnten
RisikoDifferenzProEuro = RisikoRahmenUnten / GeldRahmenBereich
Risiko = RisikoRahmenUnten + GeldDifferenz * RisikoDifferenzProEuro
Debug "Das Risiko für EUR " + StrD(Geld, 2) + " beträgt: " + StrD(Risiko, 4)
Ich habe nun eine Schleife vorangestellt, die die Geld- und Risikorahmenwerte berechnet.
Das geht zwar ganz gut, aber trotzdem würde mich interessieren, ob man das ganze ganz ohne Schleife mathematisch lösen kann.
Hier nun die aktuelle Version:
Code: Alles auswählen
EnableExplicit
Define.d Geld, GeldRahmenUnten, GeldRahmenOben, GeldDifferenz, GeldRahmenBereich
Define.d RisikoRahmenUnten, RisikoDifferenzProEuro, Risiko
Define.i i
; Geld : 500 | 1500 | 4500 | 13500 | 40500
; Risiko: 0.01 | 0.02 | 0.04 | 0.08 | 0.16
Geld = 700 ; Für diesen Betrag berechnen wir das passende Risiko
GeldRahmenUnten = 500 ; Wert aus der Tabelle
GeldRahmenOben = 1500 ; Wert aus der Tabelle
RisikoRahmenUnten = 0.01 ; Wert aus der Tabelle
For i = GeldRahmenUnten To Geld
If i = 3 * GeldRahmenUnten
GeldRahmenUnten * 3
GeldRahmenOben = 3 * GeldRahmenUnten
RisikoRahmenUnten * 2
EndIf
Next i
GeldRahmenBereich = GeldRahmenOben - GeldRahmenUnten
GeldDifferenz = Geld - GeldRahmenUnten
RisikoDifferenzProEuro = RisikoRahmenUnten / GeldRahmenBereich
Risiko = RisikoRahmenUnten + GeldDifferenz * RisikoDifferenzProEuro
Debug "Das Risiko für EUR " + StrD(Geld, 2) + " beträgt: " + StrD(Risiko, 4)