Clever-Excel-Forum

Normale Version: Affen Markt
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Hallo ihr lieben Excel Mitstreiter und Mitstreiterinnen.

Ich muss gerade eine kleine Logik in Excel erstellen oder programmieren, weiß aber nicht, ob es am besten ist, das in Zeilen zu machen, in VBA oder gar in Matlab etc.

Ich habe ich es in ein kleines Monkey Business umgewandelt: Ein Affe will ordentlich Affengeld machen, deswegen kauft er immer Bananen in dem Moment ein, wenn die Bananen günstig sind, und verkauft sie, wenn sie teuer sind.

Regeln am Bananenmarkt:
1) Affe kann maximal 3 Bananen halten, eins Pro Extremität und auf der übrigen Extremität steht oder hängt er.
2) Affe kann nur eine Banane pro Stunde (pro Zeile) (ver)kaufen
3) Wenn Affe einmal (ver)kauft, (ver)kauft er alle seine Bananen, ist also immer 3h beschäftigt.
4) Affe will maximal Geld machen um sich ein neues Affenhaus zu kaufen.
5) wenn Affe weder kauft noch verkauft spielt er Spiele (macht nichts)

In der Excel (Anhang) habe ich ein Beispiel Preisverlauf für 100h gemacht.

Was ich brauche ist Zeile D, die Logik, also in welchem 3h Zeitintervall Affe einkauft, und in welchem er verkauft.

Habt ihr einen Vorschlag, wie ich das am besten implementieren kann? Falls es einfach direkt in den Zeilen geht, dann gerne so, alternativ auch gerne als VBA Code.

Vielen affigen Dank für eure Antworten und Ideen!

Liebe Grüße,

ILoveBanana
Hallo,

Verstehe ich das richtig, dass Du Kauf und Verkauf so Optimieren willst, dass sich innerhalb der 100 Stunden der maximale Gewinn ergibt (also im Prinzip soll die Spalte E ermittelt werden)?
Die Preise sind also vorab über den gesamten Zeitraum bekannt?
Hallo,

sind die anderen Spalten (C&E) bereits so vorhanden?
Hallo,

Richtig, es soll am Ende des Tages möglichst viel Geld rauskommen. Es wird also immer dann gekauft, wenn die Bananen am billigsten sind, und verkauft, wenn sie am teuersten sind. 

Zeile C ist ja nur der Mittelwert über 3h, der ist vorhanden laut einfacher Zeile. Zeile E,F,G und H hängen alle von Zeile D ab, welche gesucht ist. Eigentlich suche ich nur die Automatisierung von Zeile D, also die Zeitpunkte des Einkaufs.

Viele Grüße,

BananaLove
Habe mal eine Solver-Lösung versucht.

Solver-Parameter sind aus dem Screenshot ersichtlich.
Hallo,

vielen Dank für eure Beiträge. Ich verstehe nicht, wie die Solver Lösung funktioniert, allerdings ist das Ergebnis (Zeile L1? -> 5,67€) niedriger als mein manuelles Ergebnis (H99 -> 10,44€).

Dazu muss sagen, dass meine Excel zuvor nicht gestimmt hat, hier nochmal die korrigierte Version, Zeile H hat zuvor nicht richtig gerechnet, sollte so jetzt passen (Anhang).

Hat jemand noch eine Lösung? :)
Hallo I...,

1.  In der Anlage einmal die Datei mit dem Solverproblem, in der die Solverparameter hoffentlich nicht verloren gehen.

2. Trotz sehr vieler Läufe konnte der Solver bei mir nicht annähernd deine manuelle Zuordnung erreichen (die Lösung in der Datei ist manuell überarbeitet).

3. Durch den abschnittsweisen Vergleich verschiedener Solverlösungen mit deiner Zuordnung konnte ich noch eine Verbesserung für deine manuelle Zuordnung finden.
Zur Zeit 70 ist deine Aussage zwar richtig, dass man später billiger kaufen kann, ich verpasse aber einen Zyklus (Kauf/Verkauf).
Das führt zu einem Ergebnis von 10,80.
Vielen Dank für eure Ideen.

Der Solver funktioniert bei mir leider auch noch nicht, ich bekomme keine sinnvollen Ergebnisse. Die Berechnung wird so wahrscheinlich auch zu komplex für den Solver sein, besonders wenn ich bedenke, dass meine wirklichen Daten nicht 100 sondern 35040 Zeilen (Amzahl an Viertelstunden im Jahr) haben. 

Habt ihr noch andere Ideen? Ich denke ein iteratives "ich schaue immer an Tagesbeginn (24 ohne Rest teilbarer Wert), wie ich die nächsten 24h optimiere, um 24 Uhr habe ich immer keine Bananen" o.ä. wäre wohl rechnerisch vorstellbarer?
Die Preise scheinen völlig unabhängig und gleichverteilt zw. 0 und 1 zu sein (=Zufallszahl()). Dann würde ich an des Affen Stelle folgende Strategien (Strategie bedeutet: ich kenne die Zukunftspreise natürlich NICHT) testen:

Wenn ich kaufen kann, dann unter 40 Cent für die erste Banane (und dann zu jedem Preis, wie gefordert, die beiden anderen Bananen hinterher)
Wenn ich verkaufen kann, dann über 60 Cent usw.

Das gleiche würde ich für 39 Cent / 61 Cent durchlaufen lassen usw., bis ca. 10 Cent / 90 Cent.

Hintergrund: 
Der Erwartungswert bei 40 Cent ist 140/3=46,67 pro Banane Einkauf
Der Erwartungswert bei 60 Cent ist 160/3=53,33 pro Banane Verkauf

Der (Erwartungs)-Spread wird bei den anderen Kombinationen zwar größer, aber die Ankauf/Abverkauf-Kombis werden entspr. seltener.

Zumindest gibt es nur 31 verschiedene Ergebnisse. Die kann man natürlich noch weiter variieren, indem man 40 und 61 usw. kombiniert, oder auch 40 und 59 usw. (asymmetrisch).
Es kann übrigens sein, dass in der letzten Zeiteinheit die Anzahl der Bananen gerade mal >0 ist. Dann ist der Ergebnisvergleich nicht möglich. Bei einer sehr großen Anzahl Zeiteinheiten ist das egal.
Seiten: 1 2