Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
задания / Диссертация - РАЗРАБОТКА МОДЕЛЕЙ, АЛГОРИТМОВ.docx
Скачиваний:
123
Добавлен:
27.05.2015
Размер:
9.85 Mб
Скачать

Приложения

Акт о внедрении результатов диссертационного исследования в ооо «Таулинк»

Акт о внедрении результатов диссертационного исследования в тк «Фотон»

Краткая информация о проекте «fimas»

Среда разработки: Borland Delphi 7 / Embarcadero RAD Studio 2010

Платформа: Microsoft Windows

Инструменты разработки:

  • ModelMaker

  • Tortoise SVN

Сторонние компоненты:

  • GLScene (http://www.glscene.org)

  • Strange Components (http://www.sector-37.com)

  • RemObjects Pascal Script (http://www.remobjects.com)

  • SynEdit (http://synedit.sourceforge.net/)

  • FastMM (http://fastmm.sourceforge.net/)

Сайт проекта «Financial Market Simulation»:

  • http://sourceforge.net/projects/fimas

  • http://fimas.sf.net

Этапы реализации:

  • Начало – 15 декабря 2006

  • v0.2 Alpha – 27 апреля 2007

  • v0.6 Beta – 12 мая 2007

  • v0.8 – 24 мая 2007

  • v1.0 – 12 апреля 2008

  • v1.1 – 26 августа 2009

  • v1.2 – 12 апреля 2010

  • v1.3 – 17 ноября 2010

  • v1.4 – 22 декабря 2010

Подробная схема связи компонентов и пакетов в системе

Схема взаимосвязи стратегий, планов и ролей в системе

Диаграмма взаимосвязи различных типов ордеров

Диаграмма стандартных ролей в системе

График изменения средней, максимальной и цены закрытия акций компании «Юкос» за период с 25.05.2005 по 19.09.2006

График распределения средней, максимальной и цены закрытия акций компании «Юкос» за период с 25.05.2005 по 19.09.2006

График изменения объёма торгов акций компании «Юкос» за период с 25.05.2005 по 19.09.2006

График распределения объёма торгов акций компании «Юкос» за период с 25.05.2005 по 19.09.2006

График изменения максимальной цены за день акций компании «РАО ЕЭС» и её распределение за период с 25.05.2005 по 19.09.2006

График изменения объёма торгов акций компании «РАО ЕЭС» и его распределение за период с 25.05.2005 по 19.09.2006

Алгоритм работы роли компании

[TFMSCompanyRole]: procedure Step;

begin

if DoFilteredByTime then

begin

// Still need to generate news...

GetWorld.RequestToGenerateNews(DoGenerateCompanyNewsOffline);

GetWorld.RequestToGenerateNews(DoGenerateFinalNews);

end

else

begin

if not FActivePlans.Step then Exit;

DoSelectStrategy();

DoEverydayWork();

GetWorld.RequestToGenerateNews(DoGenerateCompanyNews);

if (GetWorld.Time.CurrentDayOfMonth /

GetWorld.Time.DaysInCurrentMonth > MonthlyReportDate)

and (not FMonthlyReportDone) then

begin

FMonthlyReportDone := True;

// Create a new report and assign previous values to it.

FSavedCompanyInfo.Add();

GetCurrentCompanyInfo.Assign(

FSavedCompanyInfo[FSavedCompanyInfo.Count - 2]);

// Generate news based on this report.

DoGenerateMonthlyNews();

DoPayDividends();

end;

GetWorld.RequestToGenerateNews(DoGenerateFinalNews);

if GetWorld.Time.MonthChanged() then

FMonthlyReportDone := False;

end;

end;

Алгоритм работы ролей трейдера и брокера

[TFMSTraderRole]: procedure Step();

begin

if DoFilteredByTime() then Exit;

if not FActivePlans.Step() then Exit;

DoSelectStrategy();

if GetStrategies.GetCurrentStrategy <> nil then

GetStrategies.GetCurrentStrategy.Think();

// Check requests on broker's account.

if FBrokerAccount <> nil then

FBrokerAccount.ActiveTransactionRequests.NotifyStrategies();

end;

[TFMSBrokerRole]: procedure Step();

begin

if DoFilteredByTime() then Exit;

if not FActivePlans.Step() then Exit;

DoSelectStrategy();

if GetStrategies.GetCurrentStrategy() <> nil then

begin

GetStrategies.GetCurrentStrategy.Think();

// Check requests on market's account.

if FMarketAccount <> nil then

FMarketAccount.ActiveTransactionRequests.NotifyStrategies();

// Check requests on traders' accounts.

FActiveTransactionRequests.ProcessTransactionRequests(

GetStrategies.GetCurrentStrategy.DoProcessTraderAccountsActiveTransactionRequest);

end;