AVVISO: questa sfida è ora chiusa: non aggiornerò più la classifica e non cambierò la risposta accettata. Tuttavia, sei libero di eseguire il controller e aggiornare tu stesso la classifica, se lo desideri.
Unisciti alla chat!
introduzione
Buonasera, commercianti! Siete tutti commercianti della società di golf PPCG. Il tuo compito è quello di fare più soldi possibile.
Sfida
Scrivi un programma che acquista e vende azioni sulla borsa valori di Stack Exchange allo scopo di fare più soldi possibile.
gameplay
Tutti i giocatori inizieranno con 5 azioni e $ 100 nella loro banca. Il gioco inizia sempre con un prezzo dell'azione di $ 10.
Ogni partita avrà 1000 round in cui il primo round è round 1
. In ogni round, al tuo programma verranno forniti quattro argomenti come input: il prezzo corrente delle azioni, il numero di azioni che possiedi, la quantità di denaro che possiedi e il numero di round (1 indicizzato).
Ad esempio, se il mio programma è test1.py
, il prezzo delle azioni è 100
, il numero di azioni che detengo è 3
, la quantità di denaro che ho è 1200
e il numero rotondo è 576
, il mio programma verrà eseguito in questo modo:
python test1.py 100 3 1200 576
In un round, il prezzo delle azioni dato a ciascun giocatore sarà lo stesso. Questo non cambia fino alla fine del round.
In risposta, il giocatore deve stampare il proprio comando. Esistono due opzioni:
- Acquistare azioni: questo comando è dato come
bn
doven
è il numero di azioni che si desidera acquistare. Ad esempio, se si desidera acquistare 100 azioni, si dovrebbe produrre:
b100
Al momento dell'acquisto di azioni, è consentito uno scoperto fino a $ 1000. Se provi ad acquistare abbastanza azioni che superano questo scoperto (il tuo saldo bancario scende sotto $ -1000), verrai dichiarato fallito. Ciò significa che perderai tutte le tue azioni e il saldo sarà impostato su $ 50.
Il prezzo delle azioni non sarà influenzato dal tuo comando in caso di fallimento.
(Se il tuo saldo è $ -1000, non sei in bancarotta. Tuttavia, se il tuo saldo è $ -1001, sei in bancarotta)
- Azioni Vendo: Questo comando è dato come
sn
doven
è il numero di azioni che si desidera vendere. Ad esempio, se si desidera vendere 100 azioni, si dovrebbe produrre:
s100
Non puoi vendere più azioni di quelle che possiedi. Se provi a farlo, la tua richiesta verrà respinta e salterai il round.
Se si desidera saltare il round e non fare nulla, produrre b0
o s0
.
La tua richiesta verrà rifiutata se provi ad acquistare o vendere un numero negativo di azioni e / o un numero non intero di azioni.
Dopo 5 round, alla fine di ogni round, tutti i giocatori riceveranno un dividendo, il cui valore è pari al 5% del prezzo medio medio delle azioni degli ultimi 5 round.
Come funziona?
Inizialmente il prezzo delle azioni sarà di $ 10. Alla fine di ogni round, verrà ricalcolato utilizzando la formula:
Il prezzo delle azioni sarà limitato in modo che non scenda mai al di sotto di $ 1.
Per evitare variazioni troppo rapide, la variazione del prezzo delle azioni è limitata a un massimo di .
Regole
- Il tuo programma deve avere un nome
- Al tuo programma è consentito un singolo file di testo per l'archiviazione dei dati. Deve essere archiviato nella stessa cartella del programma
- Includi nella risposta i dettagli di come eseguire il programma
- Questo KotH è aperto a tutti i linguaggi di programmazione gratuiti e che possono essere eseguiti su Windows 10
- Il tuo punteggio si basa esclusivamente sul contenuto del tuo saldo. Il denaro bloccato in azioni non verrà conteggiato
- Puoi modificare il tuo programma in qualsiasi momento. Prima di ogni partita, l'ultimo codice verrà salvato e compilato
- Non dovresti scrivere codice che abbia come target specifico un altro bot.
controllore
Il controller è scritto in Python e può essere trovato qui: https://gist.github.com/beta-decay/a6abe40fc9f4ff6cac443395377ec31f
Alla fine stamperà una classifica e mostrerà un grafico di come il prezzo delle azioni è cambiato durante il gioco.
Ad esempio, quando stavano giocando due robot casuali
vincente
Vince il giocatore con la maggiore quantità di denaro nel proprio saldo alla fine dell'ultima partita.
Classifica
Gioco 4: 16:14 10/08/2018
Name Balance
Experienced Greedy Idiot $14802860126910608746226775271608441476740220190868405578697473058787503167301288688412912141064764060957801420415934984247914753474481204843420999117641289792179203440895025689047561483400211597324662824868794009792985857917296068788434607950379253177065699908166901854516163240207641611196996217004494096517064741782361827125867827455285639964058498121173062045074772914323311612234964464095317202678432969866099864014974786854889944224928268964434751475446606732939913688961295787813863551384458839364617299883106342420461998689419913505735314365685264187374513996061826694192786379011458348988554845036604940421113739997490412464158065355335378462589602228039730
Equalizer $763185511031294813246284506179317396432985772155750823910419030867990447973211564091988995290789610193513321528772412563772470011147066425321453744308521967943712734185479563642323459564466177543928912648398244481744861744565800383179966018254551412512770699653538211331184147038781605464336206279313836606330
Percentage Trader $448397954167281544772103458977846133762031629256561243713673243996259286459758487106045850187688160858986472490834559645508673466589151486119551222357206708156491069820990603783876340193236064700332082781080188011584263709364962735827741094223755467455209136453381715027369221484319039100339776026752813930
OYAIB $8935960891618546760585096898089377896156886097652629690033599419878768424984255852521421137695754769495085398921618469764914237729576710889307470954692315601571866328742408488796145771039574397444873926883379666840494456194839899502761180282430561362538663182006432392949099112239702124912922930
Chimps on a Typewriter $176504338999287847159247017725770908273849738720252130115528568718490320252556133502528055177870
Greedy B*****d $17689013777381240
Illiterate Dividend Investor $2367418699671980
Lucky Number 6 $4382725536910
Lone Accountant $90954970320
Buy/Reinvest $127330
Technical Analysis Robot $126930
Dollar Cost Averager $106130
Fibonacci $69930
Novice Broker $28130
Buy Low $6130
Naive Statistician $6130
Fallacious Gambler $6130
Passive Trader $4980
Half More or Nothing $4920
Monkeys on a Typewriter $66
Visualizza i grafici di ciascun concorrente
Correlati ma il gameplay e il criterio vincente sono molto diversi da questa sfida.