Quali algoritmi sarebbero utili per progettare un simulatore di borsa?

3

Siamo in procinto di costruire un gioco di simulazione di borsa. Il design del frontend è pronto ma non sappiamo come esattamente gli algoritmi di back-end devono essere progettati.

Quali algoritmi dovremmo considerare implementando per farlo funzionare?

Stiamo codificando in PHP / RoR / Python.

Se esiste un sistema open source che già esiste, potremmo considerarlo un ulteriore vantaggio.

    
posta Eastern Monk 16.06.2011 - 14:08
fonte

3 risposte

2

La cosa più generica, utilizzata anche nella simulazione fisica, è il metodo Monte Carlo . A causa della complessità computazionale della finanza, vengono spesso sostituiti da algoritmi più semplici progettati per compiti specifici (come ad esempio Black-Scholes per il mercato dei derivati). Puoi leggere l'applicazione del metodo Monte Carlo (e delle alternative) in finanza in wiki .

Soluzioni open source? Solo uno che viene in mente è QuantLib .

    
risposta data 16.06.2011 - 18:10
fonte
1

Questa è una domanda da un miliardo di dollari. : -)

Potresti esaminare la ricerca di Steve Keen , o anche metterti in contatto con lui. È un ingegnere in treno e inserisce i suoi modelli qua e là sul suo blog. Non sarei sorpreso se fosse aperto a collaborare con voi ragazzi se state implementando i suoi modelli e condivideteli in un modo o nell'altro. (ad esempio, i modelli stessi e tu stai facendo uno studio dal vivo delle dinamiche di mercato che li usano e condividendo con lui i risultati non elaborati).

Barry Ritholtz potrebbe essere un'altra opzione per più o meno la stessa idea, ma tieni presente che sta gestendo una società reale, e che i loro modelli sono privati / proprietari. Quindi dubito che li condivideranno apertamente. (Lo stesso si potrebbe dire per molti hedge fund o banca.)

Altrimenti potresti trovare interessante la Wikipedia:

link

These problems are often stochastic and continuous in nature, and models here thus require complex algorithms, entailing computer simulation, advanced numerical methods such as numerical differential equations, and / or the development of optimization models. The general nature of these problems is discussed under Modeling and analysis of financial markets, while specific techniques are listed under Outline of finance: Mathematical tools.

    
risposta data 16.06.2011 - 17:18
fonte
0

Per una simulazione di gioco, mi affiderei molto a un generatore di numeri pseudo-casuali. Se è abbastanza offuscato, i giocatori non lo sapranno mai ed è abbastanza vicino alla realtà da non dipendere in gran parte.

Assegnerei un "valore reale" iniziale casuale per ciascun elemento e farlo fluttuare con uno schema sinusoidale o qualcosa con periodi e ampiezza variabili. Una fluttuazione categorica e una fluttuazione complessiva aiuterebbero. Quindi, a livello globale, i prezzi potrebbero salire, ma l'industria dei fubar non è così calda, mentre lo specifico produttore di fubar è in un solco e in realtà perde denaro.
Le categorie possono essere industrie, regioni, tutti con un nome simile a una grande azienda o qualsiasi cosa si adatti al tuo gioco.
Si potrebbero cospargere di eventi degni di nota in momenti casuali per aziende, categorie o eventi globali specifici. Picchi, arresti anomali, piccoli aumenti / diminuzioni per i prossimi 5 anni e così via.

Ma questo è tutto il "valore reale". Che è in gran parte irrilevante per gli stock. Avrei quindi un numero di agenti che seguiva una serie di politiche per acquistare e vendere con il proprio flusso di cassa e profitto. Se il giocatore, o uno degli agenti, vuole comprare o vendere, deve fare un'offerta che un agente accetta. Qualcuno inevitabilmente fallisce e ne viene generato un altro.
Un agente sarebbe sano, razionale e ben informato con un ridicolo portafoglio. Sa qual è il vero valore e acquista o vende quando il prezzo è buono dopo un significativo ritardo. Dovrebbe essere il pubblico in generale e impedisce che le cose diventino troppo strane.
Il resto seguirebbe una politica, analizzando i modelli cercando di indovinare il vero valore e le tendenze future.
Si comprerebbe ogni volta che vedesse un periodo di crescita prolungato. Vendita quando è piatta.
Uno non venderebbe mai a meno che non abbia fatto un dollaro.
Si proverebbe il classico schema di pompa e scarico.
E così via. Penso che questo sia il punto in cui applicheresti QuantLib e le altre risposte sulle finanze matematiche.

    
risposta data 16.06.2011 - 18:56
fonte

Leggi altre domande sui tag