Skip to content

CSHDJO/NasdaqTradeSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bij de zomercompetitie 2025 - NasdaqTrader

Het doel van het spel is om zo rijk mogelijk te worden. Je gaat dit doen door automatisch te handelen op de beurs.

Hoe werkt het spel

Je maakt een Trading bot, deze krijgt toegang tot de beurs. Maar er is iets bijzonders met deze beurs, alle koersen ook die in de toekomst zijn al bekend. Er is dus een optimale koop/verkoopstrategie er komt geen geluk bij kijken. Je trader bot heeft een enkele methode DoTurn binnen deze functie kan je de koersen opvragen en aandelen kopen of verkopen. Deze functie heeft een parameter ITraderSystemContext:

public interface ITraderSystemContext  
{  
	DateOnly StartDate { get; set; }  
	DateOnly EndDate { get; set; }  
	DateOnly CurrentDate { get; set; }  
	int AmountOfTradesPerDay { get; }  
	
	decimal GetCurrentCash(ITraderBot traderBot);  
	decimal GetPriceOnDay(IStockListing listing);  
	ReadOnlyCollection<IStockListing> GetListings();  
	int GetTradesLeftForToday(ITraderBot traderBot);  
	bool BuyStock(ITraderBot traderBot,IStockListing listing, int amount);  
	bool SellStock(ITraderBot traderBot, IStockListing listing, int amount);  
	IHolding GetHolding(ITraderBot traderBot, IStockListing listing);  
	IHolding[] GetHoldings(ITraderBot traderBot);  
}

Hiermee heb je alle informatie en mogelijke acties om te kunnen winnen.

Beurs regels

Per dag kan je maar 5 transacties doen(verkopen of kopen).

Je mag per aandeel op de markt maar 1000 bezitten

Aan het einde van spel word de waarde bepaald door cash + (aandelen * waarde) te doen. Je hoeft dus niet alles aan het einde te verkopen.

Het spel loopt voor 2,5 seconden voor iedereen, als je niet binnen 2,5 seconden afgerond hebt stopt het spel gewoon. Je wordt wel meegenomen in de ranking, maar je houdt de aandelen die je had toen het spel stopte. Het kan zijn dat dit tijdslimiet nog wordt opgerekt.

Het spel loopt per speler individueel er kan dus niet naar elkaar worden gekeken of op elkaar worden gereageerd.

Bonus regeling

Als je een UI weet te maken die het spel kan afspelen aan het eind krijg je +2% bonus bovenop je eindresultaat per game. Als je een UI weet te maken waarbij je zelf kan handelen krijg je +5% bonus bovenop je eindresultaat per game. Voor de finale moet je met een Bot meedoen, je kan dan niet zelf handelen.

Je mag hiervoor de source aanpassen, maar spel moet nog wel normaal kunnen lopen.

Hoe doe ik mee?

Maak een fork van dit project op github How to fork

Maak je bot door een kopie te pakken van de ExampleBot die staat in de Bots map.

Als je voor de komende run je bot wil updaten, maak dan een pull request How to create pull request from fork Zorg ervoor dat je project wel build!

Elke nacht loopt het spel opnieuw, de resultaten komen op: Resultaten pagina

Lokaal runnen

Voor het lokaal uitvoeren van je bot neem de volgende stappen:

ps. er zijn een aantal command arguments om te zorgen dat je niet altijd alles zelf hoeft in te stellen kijk in Source\NasdaqTrader.CLI\Program.cse wat de mogelijkheden zijn.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 10