Microökonomie funktioniert immer auf der Basis von irgendwelchen theoretischen Annahmen über die Beschaffenheit des Marktes (vollständige Konkurrenz, Polypol, Oligopol, Monopol). Hab aber auch sehr viel vergessen.
Ich verstehe Dons Marktmodell nicht. Aber mit mir redet er nicht.
Ich würde die Menge der gehandelten Aktien immer genau proportional zur Menge der Mitspieler ansteigen lassen.
Jeder bekommt bei Spielstart eine klar definierte Menge an Aktien geschenkt. So bleibt
menge_Aktien / menge_Mitspieler
immer konstant.
Die Aktien kommen so immer genau nur dann aus einem Angebots/Nachfragegleichgewicht zu gegebenen Preis in ein Ungleichgewicht, wenn ein externes Ereignis auftritt. (z.b. in einem Bundesligabörsenspiel: Dortmund verkauft alle Spieler ausser Rossitzki. HäHä ;D).
Die Menge der Aktien mit der Menge der Mitspieler nicht proportional ansteigen zu lassen trifft alle gleich. Wenn proportional weniger verteilt werden, sind die Aktien die alle besitzen knapper (wertvoller) -> Deflation. Wenn proportional mehr verteilt werden, sind die Aktien, die alle besitzen weniger knapp (wertloser) -> Inflation.
Wie sähe denn das Datenmodell für das Offer- Modell aus?
verstehe ich nicht.
wo wird die Zuordnung der Aktien zu den Besitzern gemacht?
ungefähr so (in Pseudocode, als hibernate/xdoclet user ist eh vieles egal):
table StocksUsers
id (long): (primary key) not null autogenerated
idUser (long) : (foreign key) not null
idStockDescr (int) : (foreign key) not null
amount (int)
unique constraint auf idUser + idStockDescr (Kombination beider ist UNIQUE).
table StockDescr
id (int) : (primary key) not null autogenerated
name (String) : unique
price (java.math.BigDecimal) :
table User
id (long) : (primary key) not null autogenerated
name (String) : unique
pwd (String)
ipAdress (String)
email (String) : unique
table Offers
id (long) : (primary key) not null autogenerated
idStockDecr (int) : (foreign key)
idUser (long) : (foreign key)
price (java.math.BigDecimal)
amount (int)
zur Verdeutlichung Assoziationen in POJOs (plain old java objects)
class User {
long id;
etc.
java.util.Set stocksUsers;
java.util.Set offers;
}
class StockUser {
long id;
int amount;
StockDescr stockDescr;
User user;
}
class StockDescr {
int id;
String name;
java.math.BigDecimal price;
// benötigt keine referenz auf StockUser
}
class Offer {
StockDescr stockDescr;
User user;
int amount;
java.math.BigDecimal price;
}
Und wäre das performancetechnisch unmöglich jede Aktie einzeln zu verwalten?
bin mir ziemlich sicher das dies keinen Sinn macht. Schon von der reinen Businesslogik her.
In der Datenbank hat jeder User immer zu allen StockDescr ein StockUser.
Geht also auch, das StockUser.amount 0 ist.
StockUsers hat jeweils n zu 1 zu User und zu StockDescr
User hat 1 zu n zu StockUsers und zu Offer
Offer hat jeweils n zu 1 zu User und StockDescr.
Die 1 zu n von StockDescr werden im Klassenmodell nicht berücksichtigt.