Investment-Projekt
-
Hallo,
ich habe es mir selbst zur Aufgabe gemacht ein Programm in Programmsprache X zu realisieren. Jedoch fällt mir der Anfang noch ein wenig schwer.
Projekt:
Es geht darum sich eine bestimmte Anzahl an Paketen zu kaufen, die pro Tag eine bestimmte Menge an Geld zurückgeben.Beispiel:
Ich kaufe 100 Pakete für 6000 EUR, wobei 1 Paket 60 EUR kostet. Diese Pakete sind bis zu Tag X aktiv und geben mir jeden Tag ein bisschen vom dem reingesteckten Geld zurück. Am Ende von Tag X habe ich einen Gewinn(also ich bekomme dann über 100% zurück). In dem Fall bekomme ich pro Tag 0,81% von den 6000eur zurück.Weil man am Tag ja ein Teil des investierten Geldes zurückbekommt, kann ich mir ja immer wieder neue Pakete für 60 EUR nachkaufen, wenn denn genug Geld verfügbar ist.
Beim Kauf eines neuen Pakets ergibt sich die Möglichkeit es für 1 EUR Aufschlag sofort "aktiv" zu setzen. Andernfalls müssen 5 Werktage gewartet werden bis es "aktiv" wird. Also angenommen es wird am Werktag 1 ohne Aufschlag gekauft, wird das Paket erst am Werktag 6 aktiv. Wird ein Paket gekauft, beträgt das Gesamtinvestment mit 101 Paketen dann 6060 EUR eben, d.h. es ergibt sich ein neuer Wert den man täglich zurückbekommt, da man statt 100 Paketen eben 101 hat etc.
Ich will jetzt wissen welche Methode im Endeffekt den meisten Gewinn bringt. Also entweder die einzelnen Pakete am nächsten Werktag für 1 EUR Aufschlag aktiv setzen, oder 5 Werktage warten.
Anmerkung: 1 EUR Aufschlag bis 150 Pakete insgesamt aktiv, danach bis 300 Pakete 1,50 EUR und ab 300 Pakete sind es 2 EUR Aufschlag.
Ich habe mir das bis zu Tag 9 mit der Hand auf einem Zettel ausgerechnet, aber besser sieht man das halt nach einem Jahr z.B. oder mehr. Was sagt ihr dazu? Geht das in Excel besser oder doch in C? Das Problem, dass ich in C haben werde, ist, dass ich das schwer mit dem 5 Tage warten realisieren kann, weil das dann zu viel wird.
Ich habe noch Null Erfahrung mit Aufgaben im Finanzbereich, aber mich interessiert es einfach persönlich.
Gruß,
C_boy
-
Sowohl C als auch Excel sind grauenhaft für diese Aufgabe.
Excel ist nicht mächtig genug, um komplexe logische Abläufe zu programmieren. Genauer: Es mag zwar theoretisch mächtig genug dafür sein, aber da programmierst du dich tot.
C ist viel zu low-level. Für einen erfahrenen C-Programmierer ist das zwar ein Klacks, aber mit wenig C-Erfahrung programmierst du dich tot, um überhaupt das Grundgerüst zu konstruieren.
Du brauchst irgendetwas zwischen diesen Extremen. Ich empfehle eine anfängerfreundliche Scriptsprache, wie z.B. Python. Da musst du dich nicht lange rum schlagen mit der Basisfunktionalität, aber du kannst auch leicht komplexe Logik umsetzen.
Du kannst auch ein Bachelorstudium Mathematik absolvieren
Das Modell klingt nach etwas, das sich ganz gut analytisch lösen lassen sollte.
-
Verstehe, danke für die ausführlich Antwort!
Ich bin zwar Ende Sommer mit meinem technischen Physik Bachelorstudium fertig, jedoch hatten wir analytische Lösungsverfahren nicht mal angekratzt. Soweit ich weiß kommt das erst im Master im Fach computer physics I und II.
Was hältst du von C++, um dieses Problem zu lösen im Vergleich zu C und Python? Oder haben Scriptsprachen in dem Gebiet einfach erhebliche Vorteile? Ich bin gerade dabei mir den C++ Primer durchzulesen und davon zu lernen. Part I: The Basics habe ich schon durch. Die zwei "größeren" Programme waren aber auch da nur eine Date-Klasse und Vector-Klasse.
-
Nimm Python. Ich würde sogar empfehlen, es in einem Jupyter Notebook laufen zu lassen.
Du brauchst dann nicht zu kompilieren, siehst sofort die Ergebnisse und außerdem hat Python gerade für diesen Bereich unglaublich viele fertige Bibliotheken.
Und außerdem kannst du dann sehr sehr schnell dir dein Guthaben oder deine Zinsen oder beides oder ... auch visualisieren. Das geht z.B. mit seaborn meistens in einem Einzeiler, wenn die Daten sinnvoll vorliegen. Das wirst du in C oder C++ oder ähnlichen Sprachen niemals so schnell hinbekommen.
Aber wenn du es in C++ machen willst, warum nicht? Dabei kannst du bestimmt viel über die Sprache lernen und wie man da so ein Problem lösen könnte. Wenn du aber mehr über das Problem selbst lernen willst, hilft entweder eine einfache, gut geeignete Programmiersprache (Python) für eine Simulation -- oder einfach Mathematik