Financial Market Simulation Documentation

General For users For researchers For developers


Date:      
22 December '2010
Version:          
v1.4
 


Contents


 

Introduction

This section of documentation is intended for end-users of FIMAS. The ones that just wanna press a button and see a pretty picture :)

 


 

FAQ

[Q] How to use this application:

 

See the Experiment guide further on.


 

[Q] Are dividends added to traders' accounts?

 

Yes, by default, they are added monthly, according to the issuing company's settings.

 

 

[Q] Can the same company offer its shares on different markets?

 

Theoretically, yes, since Market is an agent too. Practically, this scenario has not yet been tested because ...two markets are two times harder to set up and analyze.

 

[Q] What kind of requests can market expect from a broker?

Currently any request that traders supports, including market, stop and limit orders.

 

[Q] It does not do anything cool.

 

Yep, but it took me 4 full months just to set it up to work the way it does. The interface of the FMS and the whole transaction system was *very* hard to implement. Work is still in progress, several years since the start of the project.

 

[Q] Why is is so damn slow?? I have a 16-Core CPU and even Crysis runs at 500 FPS!

 

Well, because it's precise and sends "update" signals to every living creature every 3 seconds by default. Want to make it faster - open the "Property Editor", select "World" object (it is selected by default), find "UpdatePeriod" value and change it to ...let's say 15 seconds. Notice the speed difference =)

 

[Q] Will there be further versions?
 

Definitely yes. Just stay tuned!

 

[Q] Can I contact you?
 

Sure! I would definitely want to hear from you, because it would mean that I'm not alone with this project! Feel free to ask any question you want as long as it's not something like "where do you get your porn?" - I'm not giving away such precious information ;)
 

 


 

Version history

v0.01
03 January '2007


Initial version
 

v0.02 14 April '2007

Time is running, client application almost finished, there is even some activity in companies.

v0.1a 27 April '2007

Classificators and Companies are implemented.

v0.8 30 May '2007

 

Transaction system is working correctly.

Added 3 types of trader strategies.

Added some documentation.

First official release.

 

v1.0 11 April '2008

Created an icon for the project

Converted most properties to methods in TFMSShareTypeAccount

Fixed all not working script presets

All options are now saved and loaded at startup

Scripts for the array analyzer now have OnCompile and OnExecute procedures

Improved the way absence of STRANGE_EXTLIB support is handled

Added plugin support

Added a time event manager

Added ability to save/load the whole project (2 serialization types)

Converted project to General Public Licence

Added a new Chart editor.

Fixed a lot of small bugs.

All UML models are now properly documented.

 

v1.1

25 August '2009

Added basic auto-completion support for scripts.

Finally fixed the "Stop and reset button".

Converted the demo scenario to Delphi code, so that it could be used for debugging.

Fixed ReadOnly properties in the Property Inspector

Updated all major strategies.

Updated a lot of scenario scripts, projects

v1.2 12 April '2010

Updated Market-maker strategy.

Added TFMSShareTransactionRequestsStats.

Added Multi-thread support.

Added serialization to PluginManager.

Added a Scenario Generator plugin.

A lot of misc bugfixes.

Updated a lot of new scenario scripts, projects and array analyzer scripts.

v1.3 12 November '2010

Greatly enhanced project documentation.

Fixed some bugs in WatchList.

Completely re-designed news system.

Removed SimulatedActivitClassificator: added TFMSNewsAutoGenerator instead.

Demo scripts are now more safe.

v1.4 22 November '2010

Shortened article names (in documentation).

Bugfixed a lot of scripts and scenarios.

Added "NewsGenerator.fmp" project.

Added TFMSNewsTraderStrategy.

v1.4 XX July '2011

Who knows what's next?..

 

For the latest version of "Financial Market Simulation" visit http://fimas.sf.net .

 


 

 

Plans for next release

  1. I don't know when the next release is going to be, but it will surely contain some stuff from this list.
     

 


 

 

Experiment guide

1. Experiment Guide (full)
Date:          August '2009
Language:   Russian
Description: A rather full guide on how the use the application along with an explanation some of the the experiments.
Online version or download in an archive

 

2. Experiment Guide (short)
Date:          January '2008
Language:   English
Description: A short guide on how the use the application along with an explanation some of the the experiments.
Online version or download in an archive

 

3. Using scenarios QuickStart:
1) Start the application
2) Choose File->Open from the menu. From there open any demo project in the \Projects\ directory.
3) Start the simulation ("Controls" menu) and analyze different statistical data on the opened chart editors.

 

4. Manually creating scenarios QuickStart:


Experiment 1:

1) Start the application.
2) Open the Scenario editor window ("Editors" menu)
3) Choose FundamentalTraders.fms from the Listbox
4) Press the "Apply" button and then finally start the simulation ("Controls" menu)
5) Open an array analyzer and select "Edit Graph - Series - Add - Simple Line" 2 times.
6) Do The same for another array analyzer.
7) Open the "Script Editors" (and may be the the "Statistics" tab if you want to) for both of them.
8) Select presets "CurrentSharePrice.fms" for one of them and "CurrentShareSpread.fms" for another, and then press "Apply" in the "Script Editor".
9) Wait some 30sec-5 min then open Custom Script "xxx.fms" (tab near the scenario editor) and see how thing turn around.
10) Enjoy!


Experiment 2:

1) Start the application.
2) Open the Scenario editor window ("Editors" menu)
3) Choose "RiskAndSpread.fms" from the Listbox
4) Press the "Apply" button and then finally start the simulation ("Controls" menu)
4) Press the "Apply" button and then finally start the simulation ("Controls" menu)
5) Open an array analyzer and select "Edit Graph - Series - Add - Simple Line" 2 times.
6) Do The same for another array analyzer
7) Select presets "CurrentSharePrice.fms" and "CurrentShareSpread.fms" for them and press "Apply".

Then repeat this experiment changing these values in the Scenario editor:
«MIN_RANDOM_TRADER_RISK_AMOUNT» 0.10
«MAX_RANDOM_TRADER_RISK_AMOUNT» 0.40

Note the difference.


Note: If you want to change something in "procedure DoMarketInitialize", you will have to reset the simulation for the changes to take effect.