Virtual Stock Exchange. The Java Software



Similar documents
1. Implementation of a testbed for testing Energy Efficiency by server consolidation using Vmware

KMU International School

CAREER OPPORTUNITIES

DbSchema Tutorial with Introduction in SQL Databases

SYSTEM DEVELOPMENT AND IMPLEMENTATION

Transferring Your Hosting Account

MySQL Quick Start Guide

Nature and Purpose of the Valuation of Business and Financial Assets

FACULTY OF COMPUTER SCIENCE AND INFORMATION TECHNOLOGY AUTUMN 2016 BACHELOR COURSES

Business Information System Courses Description

Application note: Connecting the to a Database

ASSOCIATE IN APPLIED SCIENCE DEGREES AND CERTIFICATES

High-Mix Low-Volume Flow Shop Manufacturing System Scheduling

Up/Down Analysis of Stock Index by Using Bayesian Network

Prediction of Stock Performance Using Analytical Techniques

Net Developer Role Description Responsibilities Qualifications

Option Values. Option Valuation. Call Option Value before Expiration. Determinants of Call Option Values

FINANCIAL ADVISERS ACT (CAP. 110)

Course Syllabus For Operations Management. Management Information Systems

Additional Software and Hardware Requirements

DERIVATIVES IN INDIAN STOCK MARKET

Pattern-Aided Regression Modelling and Prediction Model Analysis

Diploma of Website Development

Project management integrated into Outlook

Advanced analytics at your hands

Scalable Web Programming. CS193S - Jan Jannink - 1/12/10

ECON4510 Finance Theory Lecture 7

OPTIMIZATION AND FORECASTING WITH FINANCIAL TIME SERIES

LOCAL CRM APPLICATION FOR BILLBOARD ADVERTISING COMPANY

Linear Dynamics with Abaqus

VBLOCK SOLUTION FOR SAP APPLICATION SERVER ELASTICITY

Probability Using Dice

Betting on Volatility: A Delta Hedging Approach. Liang Zhong

Research on the Course of Network Performance Testing and Analysis

MEng, BSc Computer Science with Artificial Intelligence

International Journal of Computer Trends and Technology (IJCTT) volume 4 Issue 8 August 2013

Professional Organization Checklist for the Computer Science Curriculum Updates. Association of Computing Machinery Computing Curricula 2008

Diploma Of Computing

MySQL Quick Start Guide

Designing the GIS/Website Interface Millennium Earth Project: A Visual Framework for Sustainable Development (Virtual Global Earth Project)

What is the history and global performance of ETFS? What are ETFs? Assets Under Management (AUM) of ETFs: 2001 Q12013

How to Win the Stock Market Game

DATA MINING TOOL FOR INTEGRATED COMPLAINT MANAGEMENT SYSTEM WEKA 3.6.7

SOFTWARE TESTING TRAINING COURSES CONTENTS

AUTOMATED CURRENCY TRADING

Specialized Programme on Web Application Development using Open Source Tools

Add one or multiple jobs to your field logs with the ability to assign job-specific properties, such as unique labor and equipment rates.

Chapter 1 INTRODUCTION. 1.1 Background

BEYOND POINT AND CLICK THE EXPANDING DEMAND FOR CODING SKILLS BURNING GLASS TECHNOLOGIES JUNE 2016

Computer and Information Sciences

New Features in Oracle Application Express 4.1. Oracle Application Express Websheets. Oracle Database Cloud Service

Bachelor of Information Technology (Incorporating Diploma in Information Technology (Levels 5 and 6)

Hive Interview Questions

COMPUTER SCIENCE/ COMPUTER NETWORKING AND TECHNOLOGIES (COSC)

Harnessing the power of advanced analytics with IBM Netezza

Position Aware Firewall

Software Requirement Specification For Flea Market System

Wrap ISA and Wrap Personal Portfolio 1/26

Prerequisites. Course Outline

DIPLOMA IN WEBDEVELOPMENT

Fuzzy logic decision support for long-term investing in the financial market

Testing Intelligent Device Communications in a Distributed System

Enterprise Advanced Configuration

Running a Workflow on a PowerCenter Grid

How To Design An Information System

SQL Server Instance-Level Benchmarks with DVDStore

Ethar Ibrahim Elsaka

About Sunsign SEO. Sunsign SEO Company India

VWF. Virtual Wafer Fab

Comprehensive Business Budgeting

ESS event: Big Data in Official Statistics. Antonino Virgillito, Istat

SIUE Business Courses Descriptions

CRAFT ERP modules. Introduction

Specialized Programme on Web Application Development using Open Source Tools

Vaughan Asset Allocation Investment Program

Science, Technology, Engineering & Mathematics Career Cluster

Professionally Managed Portfolios of Exchange-Traded Funds

The PACS Software System. (A high level overview) Prepared by : E. Wieprecht, J.Schreiber, U.Klaas November, Issue 1.

BUILDING WEB JOURNAL DIRECTORY AND ITS ARTICLES WITH DRUPAL

Cloud Computing. and Scheduling. Data-Intensive Computing. Frederic Magoules, Jie Pan, and Fei Teng SILKQH. CRC Press. Taylor & Francis Group

A Monitored Student Testing Application Using Cloud Computing

Copyright. Network and Protocol Simulation. What is simulation? What is simulation? What is simulation? What is simulation?

Online Content Optimization Using Hadoop. Jyoti Ahuja Dec

Genetic algorithm evolved agent-based equity trading using Technical Analysis and the Capital Asset Pricing Model

Zoltan Feledy. A Thesis in the Field of Information Technology. Harvard University

Testing Big data is one of the biggest

Computer Information Systems

Course Descriptions. CS 101 Intro to Computer Science

Transcription:

Journal of Machine Learning Research 1 (2000) 1-48 Submitted 4/00; Published 10/00 Virtual Stock Exchange. The Java Software Jonas Mockus Igor Katin Joana Katina jmockus@gmail.com igor@getweb.lt joana@getweb.lt Editor: to be appointed by editors Abstract This work is to investigate both the influence of over-fitting and the relation of profits to the prediction errors. The second problem is probably more important, since this is almost an open area so far, in the field of financial optimization. The new, and, in our opinion, the most important observation of this work was that minimal prediction errors do not necessarily provide maximal portfolio profits. A possible reason of this seemingly counter-intuitive result is that these profits are not necessarily monotonous functions of prediction errors in the standard statistical prediction models. If this observation will be confirmed by independent sources, then the results may influence the future research in the investment optimization. The emphasis should be switched to direct search of robust trading rules, less sensitive to unpredictable market changes. Therefore, the software is platform independent, open, and designed as a tool for scientific cooperation. Keywords: Stock-Exchange, Computer Simulation, Java Software 1. On the PORTFOLIO Model The software is in Java and implements the PORTFOLIO model including the basic algorithm and the data base for running the experiments and analyzing the results. The mathematical description is in the paper Mockus et al. (2014). However, to grasp the basic ideas, a description of the simple singe-stock version is included in the software documentation, using the notation of the prototype model bymockus (2011). The complete user guide also is in the software documentation. In this document, the mathematical description is replaced by the basic algorithm scheme in Figure 1. It reflects model s work-flow and shows the main blocks. PORTFOLIO model simulates stock exchange market work. Here participants communicate with stock exchange environment, but not directly to each other. Before simulation c 2000 Jonas Mockus and Igor Katin and Joana Katina.

Mockus and Katin and Katina initial data must be set up. There are three types of data in PORTFOLIO model: exchange environment data, stocks data and customers data. Exchange environment data includes transaction cost, bank interest rate, yield of, customer credit limit, count of stocks and count of customer, which be included into simulation and other system data. Every stock has data about it, such as this stock is real or virtual, its name if it is real, bankrupt probability, inertia, dividend and volatility. Every market participant or customer has data about his prediction strategy and trading rule he uses, information about initial stocks, funds and also other setting, used to set up strategy or trading rule. In this game every customer has these objectives: to minimize prediction error and to maximize his profit. So every customer uses selected strategy to predict next day value of every stock, and then uses selected trading rules to make buy or sell operations. At the end of game every customer has profit or loss. PORTFOLIO model includes 19 prediction models: eight AR(p) models with p parameter from 1 to 9, eight AR-ABS(p) models with p parameter from 1 to 9 and Wiener ( or Random walk ) model. Also 10 trading rules are implemented: 4 short terms trading rules and 6 long term trading rules. Programming language: Java / PHP (for analytics GUI) Database: MySQL Open source license: GPL Website: Software requirement: java version 1.8 or higher, PHP 5.3 or higher, MySQL 5.0 or higher Operating system: software independent User interface: java swing GUI / Web interface PORTFOLIO model has several modes: Run ( or Run with delay ) mode, which shows simulation result in program GUI and Experiment Mode which writes all result in given data base. After simulation these data can be shown in web interface from special script or by custom SQL query, report or script. All SQL structures and their configuration are in source code and can be change programmatically. Analytic part of model (PHP) can be extended, but it depends on data table structure. The objective of the PORTFOLIO model is not forecasting, but simulation of stock exchange processes that are affected by predictions of the participants. The multi-stock extension and a number of different trading rules represent both the heuristics of potential investors and the well-known theoretical investment strategies. This makes the model more realistic and allows the portfolio optimization in the space of investment strategies, in both the historical and virtual environments. The model is designed as a tool to represent behavior of individual investor, which wants to predict how the expected profit depends on different investment rules using different forecasting methods of real and virtual stocks. It is assumed that only available information is the historic data of real stocks. Optimization in the space of investment strategies and implementation of both the real and virtual stock market in the single model are the new properties of the PORTFOLIO model. The unexpected result was that the minimal stock price prediction errors do not necessarily provide the maximal profits. The complete information is presented for the independent testing and verification of this important new result. Therefore, this result can be tested and verified independently without special skills and equipment, all the experimental conditions are defined and reproducible. 2. On the Software of the PORTFOLIO Model The algorithmic diagram and the process logic is presented in Figure 2. 2

Virtual Stock Exchange 3

Mockus and Katin and Katina Figure 1 Basic PORTFOLIO scheme Using this software, investors can choose one of 190 investment strategies, including ten trading rules and nineteen forecasting models. Three of these trading rules model known theoretical results, the others are new and simulates heuristics of different investors with different approaches to risk. Investigating the real environment, historical stock prices of popular international companies can be used. In the virtual environment, prices are generated by simulation of behavior of up to eight different major investors. The random noise simulates the influence of small investors. To make flexible and easily adaptive stock exchange model, the Java technology was selected. The structure of software presents possibility to extend model: to add new prediction methods and trading rules. For large scale automatic experiments, the MySQL technology was applied using the NetBeans and XAMPP tools. So, the software can be used, modified, tested and verified independently. 3. User Guide To run PORTFOLIO model just open stock/dist directory and run stock.jar file. After program run and main windows is open, setup all needed options by the examples shown in software documentation. To run program in experiment mode change table settings in stock/src/data/config.java. Also change MySQL connection data here. Here just change table names or make any other changes. Now model configured to read data form MySQL tables. (stock/src/data/loader.java.) To read data form custom tables change SQL statement in Loader class getreal- Data2() method. To take data from yahoo. Finance( in csv format) just change stock/src/data/loader.java. Here stock/src/lt/ktu/mockus/srgm/loadyahoodata.java can help here. Also any implementation of data loading, which could import data into apl.stockrealdata ( array ) field can be used. To store data in SQL tables create then automatically. Their structure is simple and can be viewed in any MySQL client ( e.g. PhpMyadmin ). The details are in the software documentation. The underlying theory, applications, and the new results of the software are in the accompanying paper Mockus et al. References J. Mockus. On simulation of Nash equilibrium in the stock exchange context. Informatica, 23:77 104, 2011. J. Mockus, I. Katin, and J. Katina. On the optimization of investment strate- gies in the context of virtual financial market by the individual ap- proach to risk. Informatica, 25: 241 264, 2014. 4

Virtual Stock Exchange Jonas Mockus, Igor Katin, and Joana Katina. Stock exchange game model. On over-fitting and correlation of profts and prediction errors. Journal of Machine Learning Research. submitted. 5