Suche nen "optimalen" Weg

Neue Frage »

Ysas Auf diesen Beitrag antworten »
Suche nen "optimalen" Weg
Hallo

Ich habe ein Mathematisches Problem und finde keine passende Lösung. Vielleicht kann mir hier jemand helfen.

Ich soll ein Programm schreiben das (etwas vereinfacht) das tut:

Es gibt 9 Variablen (a,b,c,d,e,f,g,h,i)

Ich soll jede Variable mit einem Wert von 0% bis 80% multiplizieren, in 5% schritten
Die Summe soll 100% ergeben.

Ich muss mindestens 3 und maximal alle 9 Variablen verwenden

Also z.b.
A - 10%
B - 10%
C - 80%
D - 0%
E - 0%
F - 0%
G - 0%
H - 0%
I - 0%


Mein Problem ist das ich alle Möglichen Kombinationen berechenen soll die es gibt.

Wenn ich alle möglichen Versuche ausprobiere dauert es einfach zu lange.

Kann man das ganze auch Berechnen ?

Vielen Dank schonmal für Tips
Abakus Auf diesen Beitrag antworten »
RE: Suche nen "optimalen" Weg
Willkommen im Forum, Ysas Wink

Suchst du ein Programm, was alle Möglichkeiten auflistet (das werden wirklich einige !) oder nur die Anzahl der Möglichkeiten ?

Was du hier dann entwerfen musst, ist eine geeignete Lösungsstrategie: denkbar ist etwa ein rekursives Verfahren.

Aber vorher würde ich das Problem noch einmal anschauen, ob es da nicht weitere einschränkende Bedingungen gibt.

Grüße Abakus smile
 
 
Ysas Auf diesen Beitrag antworten »

Hallo

Ich brauche alle möglichen Kombinationen und ich weis das werden einige.

Bisschen Background Infos

A bis I sind Investment Fonds

Ich soll zuerst mal alle Möglichen berechnen (brauche ich für ein paar Statistiken etc..)

Im eigentlichen Betrieb soll der User sich sein Portfolio aus 3-9 Fonds aussuchen und die Gewichtung festlegen.
Entweder ich mache es mit immer 9 Fonds und lasse 0% zu oder ich sage 3-9 Fonds und erlaube keine 0% was einfacher zu rechnen ist smile
Ergebniss ist ja das gleiche.

Jedes errechnete Portfolio hat einen Ertrag und Risiko.

Das vom User eingegebene Portfolio ergibt einen Punkt in der Graphik.
Durch die vorher errechneten Portfolio kann ich dem User jetzt sagen

welches Portfolio bei gleichem Risiko mehr Ertrag gibt und welches Portfolio bei gleichem Ertrag weniger Risiko hat.
Siehe Screenshot
Die Hyperbel wird als "Efficient Frontier" bezeichnet wenn jemand damit was anfangen kann.

So ich hoffe ich hab euch nicht zusehr verwirrt smile
Abakus Auf diesen Beitrag antworten »

OK, dann hast du vermutlich eine Korrelationsmatrix der 9 Fonds vorliegen. Vielleicht kannst du so vorgehen, dass du das Problem zunächst für 3 Fonds löst und dann die Lösung (also dein Programm) ggf. ausbaust. Dann merkst du schon, an welcher Stelle die Berechnung dann zu lange dauert.

Fraglich ist ebenso, abhängig von Rendite und Risiko der einzelnen Fonds, ob nicht einzelne Fonds bzw. Kombinationen in bestimmter Weise dominant sind (aus Kombinationen mit den 3 renditestärksten Fonds kriegst du zB die renditestärkste Kombination). Aber wenn du wirklich alle Daten berechnen sollst, führen solche Überlegungen nicht weiter.

Grüße Abakus smile
Ysas Auf diesen Beitrag antworten »

Was ich schon habe und das sehr Effektiv das ist.

Anzahl der möglichen Kombinationen aller Fonds unabhängig von deren Gewichtung.

Also alle Möglichkeiten 3 aus 9, 4 auf 9.... 9 aus 9

Das sind in Summe 466
berechnung dauert nur paar Millisekunden.

Wenn ich jetzt noch die Möglichen Gewichtungen zu berechnen.
Also alle Möglichkeiten aus 5% - 80% um daraus 100% zu machen hab ich gewonnen.
Leider kann ich da nicht den gleichen Code verwenden da im 2. Fall Zahlen ja mehrfach verwendet werden dürfen (10% +10% + 80%) unglücklich

Mal schauen ob ich da noch was herausfinden kann.
Abakus Auf diesen Beitrag antworten »

Versuche es als eine Art Zählverfahren:

5, 15, 80

5, 20, 75

5, 25, 70

....

10, 10, 80

10, 15, 75

...

80, 15, 5


Grüße Abakus smile
AD Auf diesen Beitrag antworten »

Die Frage ist wegen der 5%-Stückelung verwandt mit

Zitat:
Gesucht ist die Anzahl aller -Tupel positiver Zahlen mit , wobei zusätzlich gelten soll. Und das ganze für .

Vielleicht, ja wahrscheinlich sogar ist folgendes etwas effizienter

Zitat:
Gesucht ist die Anzahl aller -Tupel nichtnegativer Zahlen mit , wobei zusätzlich gelten soll. Es sollten aber die 9-Tupel, wo nur zwei Werte positiv sind, abgezogen werden.

Wie auch immer, hilfreich dabei ist die hier angeführte Anzahlformel.


P.S.: Wenn es nur um diese Anzahl geht, gehört das wohl klar zu "Kombinatorik".

EDIT: Ich verrate schon mal zum Vergleich das Ergebnis. Es gibt 3106152 derartige Tupel - eine durchaus überschaubare Anzahl, wenn man jedes einzelne dieser Tupel mit heutiger Rechentechnik dann noch etwas beackern will. Augenzwinkern
Ysas Auf diesen Beitrag antworten »

Ich hab mir am Wochenende mal einen nicht mathematischen Ansatz überlegt und versuche das heute Abend mal zu programmieren.

Hat Ähnlichkeiten mit Abakus Zählsystem smile Dank Arthur Dent weis ich zumindest ob mein System stimmt.
Danke schonmal smile

Das Nächste Problem das auf mich zukommen wird ist die Sogenannte "Efficient Frontier" Hyperbel. Wird auch Markowitz Frontier genannt.
Kennt sich damit jemand aus?
Wikipedia Eintrag
AD Auf diesen Beitrag antworten »

(Etwas) Offtopic:

Über den im Wikipedia-Artikel erwähnten Harry Markowitz habe ich eben einen amüsanten Artikel im Spiegel gelesen. Offenbar vertraut der WiWi-Nobelpreisträger nicht seinen eigenen Investitionsstragien, wenn es ums eigene Geld geht... Big Laugh
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »