Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Affen Markt
#1
Lightbulb 
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


Angehängte Dateien
.xlsx   MonkeySellMonkeyBuy.xlsx (Größe: 21,93 KB / Downloads: 17)
Antworten Top
#2
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?
Gruß
Michael
Antworten Top
#3
Hallo,

sind die anderen Spalten (C&E) bereits so vorhanden?
Gastlich
Antworten Top
#4
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
Antworten Top
#5
Habe mal eine Solver-Lösung versucht.

Solver-Parameter sind aus dem Screenshot ersichtlich.


Angehängte Dateien Thumbnail(s)
   

.xlsx   MonkeySellMonkeyBuy.xlsx (Größe: 22,91 KB / Downloads: 6)
Gruß
Michael
Antworten Top
#6
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? :)


Angehängte Dateien
.xlsx   MonkeySellMonkeyBuy (2).xlsx (Größe: 19,88 KB / Downloads: 5)
Antworten Top
#7
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.


Angehängte Dateien
.xlsx   MonkeySellMonkeyBuy.xlsx (Größe: 24,25 KB / Downloads: 5)
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Antworten Top
#8
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?
Antworten Top
#9
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).
Antworten Top
#10
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.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste