I'm passionate about machine learning and quantitative finance. I like to write readable and performant code.🚀
I graduated from KIT. At the moment, I'm developing document ai solutions at Atruvia.
You can connect with me on:
MWI Projekt :mortar_board:
I'm passionate about machine learning and quantitative finance. I like to write readable and performant code.🚀
I graduated from KIT. At the moment, I'm developing document ai solutions at Atruvia.
You can connect with me on:
Mir sind mehrere Dinge aufgefallen:
Manueller Kurs
optional zu machen.:x:Spread
erfasst. Wenn Anwender keinen Wert explizit in den Spread eingibt, wird bei Spread null in die Datenbank eingetragen, das führt dazu, dass in Zeile 34 vom FloatingRateNoteModel eine NullPointerException fliegt. ☑️101
als 101
und nicht als 1.01
speichern. ☑️Problem: bezugsgröße hat falschen Wert
z.B.: Kauf zu 10.000 €
Ausschüttung nächste Periode (5%): 10.000 * 5 % = 500 € (funktioniert)
Ausschüttung nächste Periode (5%): 10.000 + 500 (Ausschüttung von vorheriger Periode, da gleiche WertpapierID und die Portfoliofassade dieses auch zurückliefert) > 500 € -> falscher Wert
gleiches gilt für Verkaufen
Es ist festzulegen, wie mit Pleiteunternehmen umzugehen ist. Werden diese Aktien vom Kauf
ausgesetzt?
Diese ist in dem Fachkonzept Kauf / Rendite festzulegen.
Perioden müssen die Namen "Periode 0", "Periode 1", usw. als variable gespeichert bekommen.
Dies wird insbesondere bei der Periodenauswahl in der InvestmentÜbersicht benötigt, kann aber auch bei PeriodenPflegen verwendet werden.
Manueller Kurs
optional zu machen.Excel-Datei von Carol Alexander kann nur Floater mit einer Restlaufzeit von 4 Jahren umgehen, nicht aber 10 Jahre.
Excel-Datei muss entsprechend angepasst werden.
Beschreibung:
Es ist möglich, alle aktiven Spiele zu löschen.
Wird dann kein neues Spiel auf aktiv gesetzt, lässt sich die Anwendung weiter nutzen, führt dann aber zu diversen Fehlern z. B. bei Aufruf von Periode pflegen.
Fix:
Sicherstellen, dass anderes Spiel aktiviert wird.
Sicherstellen, dass AktuelleSpieldaten aktuell gehalten werden.
derzeit wird die Transaktionshistorie angezeigt
Bislang werden die Anleihen mit einer risikolosen Zinskurve bewertet.
Hierbei ist es für den Planspiel-Charakter sinnvolller, eine risikobehaftete Zinskurve zu verwenden, da andernfalls Bonitätsveränderungen der Emittenten unberücksichtigt bleiben.
Diese Überlegung wurde bereits im Fachkonzept aufgestellt.
Das Vorgehen weicht dabei geringfügig von Alexander ab, die davon ausgeht, dass die Bonität dem des Referenzzinses entspricht.
Carol Alexander schreibt zu:
Example III.1.13: Add footnote: ‘The solution assumes the 60bp spread is not a reflection of a lower
than AA credit rating, If it is, then discounting should be not at LIBOR but at
LIBOR + 60bp and the price would simply be 100.’
Daraus folgt, dass auch mit risikobehafteter Zinskurve diskontiert werden kann.
Der Teilnehmer kann negative Were für die Anzahl eingeben. Wird ohne Fehlermeldung in DB übernommen.
Beschreibung:
PeriodeAnlegenController legt in doPerdioeAnlegen() für jedes Wertpapier, also auf für diese, die nicht zum SPiel gehören, einen neuen Kurs an
Problem: Wenn man bei Periode pflegen keinen Wert explizit in den Spread eingibt, wird bei Spread null
in die Datenbank eingetragen, das führt dazu, dass in Zeile 34 vom FloatingRateNoteModel eine NullPointerException fliegt.
Lösung: evtl. An der Oberfläche sichergestellen, dass ein Spread eingetragen wird.
Für kein Feld (weder Anleihe noch Aktie) wird der Seminarleiter über Falscheingaben (z.B Buchstaben statt Zahlen) informiert
Die Eingabe einer korrekten Zahl wird im Insolvenzkurs nicht übernommen
Negative Werte für den Aktienkurs werden nicht abgefangen
Periodenabschluss-Transaktionen z. B. Zinsbuchung Festgeld erscheint nicht in Buchungstabelle.
Ggf. Fehler bei Ermittlung der Portfoliopositionen?
@Franzhose Habe es eben nachgestellt. Bei mir wird auch keine Buchung gespeichert.
Werden dem Mal nachgehen. Danke für den Hinweis.
-> liefern zu viel zurück -> Refactoring
Vorschlag:
Da es pro Unternehmen nur eine Aktie und eine Anleihe geben kann, würde ich vorschlagen, den Wertpapiernamen so zu generieren:
wertpapier.setName(wertpapier.getUnternehmen().getName() + " | " + wertpapier.getWertpapierArt().getName()")
Alert weg wegen Login erfolgreich.
Laut Recherche von Max und Christian gibt es Probleme bei der Zusammenstellung eines Installers.
Findet ihr eigentlich den Namen TeilnehmerRepository
und Teilnehmer
auch irreführend?
Würde vorschlagen es zu Benutzer
bzw. BenutzerRepository
zu refactoren, da es besser abbildet, dass auch Nutzer mit anderen Rollen z. B. Spielleiter darin abgespeichert sind.
Christian und ich haben etwas gespielt. Dabei ist uns aufgefallen dass man anteilige Aktien und Anleihen kaufen kann.
Richtig:
Aktien nur Ganzzahl von Mindestvolumen z. B. 1 Stück
Anleihen nur Mindestvolumen von z. B. 1.000 EUR bzw. Vielfache davon, also auch keine 1.050 EUR
Festgeld beliebig
Ggf. kannst du die Oberfläche auch anpassen, sodass unterschiedliche Felder angeboten werden, je nach Wertpapierart z. B. Anleihe heißt das dann Nominalvolumen, bei Aktien Stückzahl etc.
Nicht alle Teilnehmer im Dokument/Druck sichtbar
Drucktest.pdf
Startkapital, Zinsen und Ordergebühren können negativ sein
In welchem Schritt wird die Bestenliste mit den aktuellen Portfoliowerten aktualisiert?
Ich habe mit einem Teilnehmer in Periode 1 eine Aktie gekauft, deren Wert ich mehrere Perioden danach weiter erhöht habe. In der Bestenliste steht jedoch nur der Portfoliowert aus Periode 1, nach dem 1. Kauf.
(Der Wert müsste weit über 1.000€ sein.)
Steps to reproduce:
Mir ist aufgefallen, dass die Teilnehmer bereits Wertpapiere kaufen können, sobald die Periode gespeichert, jedoch noch nicht abgeschlossen ist.
Ist das so korrekt? Wenn ja, dann haben wir das Problem, dass der ETF-Kurs und der Kurs der Aktien zu diesem Zeitpunkt noch nicht berechnet werden.
Nach Abschluss der Periode durch den Seminarleiter sind die Kurse dann berechnet.
Vielleicht hab ich hier aber auch einen Denkfehler...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.