stock / futures Trading optimization engine standalone stage1 only. (total of 4 stages long term)

Befejezett Kiadva: Jun 26, 2012 Kiszállításkor fizetve
Befejezett Kiszállításkor fizetve

stage1

inputs files format as follows

data1 (trading data)

data2 (signal data)

We are to trade as follows.

signal=data2

buy when signal >0. Sell when signal < 0. exit always at 3pm

Reversals are allowed.

don't allow new entries after 2pm

record equity and output final equity into csv file with

iterationNumber,netprofit,

Must use all cpu cores

The purpose of stage 1 is to figure out what speeds are achievable. If the speed is good stage2/3/4 will be developed.

trades are not submitted to a broker. We just need to do the optimization.

## Deliverables

Optimization trading engine stage1

enclosed word document has more details

inputs files format as follows

data1 (trading data)

data2 (signal data)

data1

"Date","Time","Open","High","Low","Close","Up","Down"

11/07/2001,1130,463.20,463.70,462.70,463.30,5,11

11/07/2001,1200,464.20,464.70,464.20,464.30,5,2

11/07/2001,1230,465.00,465.00,464.80,464.80,3,3

11/07/2001,1300,464.80,465.30,464.70,464.80,1,25

11/07/2001,1330,464.10,464.30,463.20,463.20,12,47

11/07/2001,1400,463.00,463.60,462.30,463.60,21,45

11/07/2001,1430,463.50,463.70,462.70,463.70,10,51

11/07/2001,1500,462.60,462.60,461.70,462.20,3,37

11/08/2001,0900,463.70,464.20,463.70,464.20,3,1

11/08/2001,0930,464.30,466.90,464.30,466.50,36,11

11/08/2001,1000,466.50,466.60,465.70,466.20,12,22

11/08/2001,1030,466.40,466.40,465.30,465.30,22,89

11/08/2001,1100,464.70,464.90,464.00,464.50,12,53

11/08/2001,1130,464.60,464.60,462.40,463.70,58,86

11/08/2001,1200,463.70,464.40,463.50,464.20,57,4

11/08/2001,1230,463.90,465.30,463.90,465.00,36,12

11/08/2001,1300,465.70,465.70,465.20,465.50,17,10

11/08/2001,1330,464.70,465.30,463.70,463.70,50,48

11/08/2001,1400,463.70,463.90,462.70,462.70,16,64

11/08/2001,1430,462.40,462.70,460.20,460.20,4,99

11/08/2001,1500,459.40,460.70,458.40,459.70,12,70

11/09/2001,0900,459.00,459.80,458.20,458.20,1,13

11/09/2001,0930,456.00,458.70,456.00,458.20,7,7

11/09/2001,1000,459.50,460.70,458.50,458.50,28,6

11/09/2001,1030,459.30,459.30,457.70,458.40,6,37

11/09/2001,1200,457.80,458.80,457.80,458.80,1,1

11/09/2001,1230,460.20,460.20,460.20,460.20,5,0

11/09/2001,1300,460.00,460.40,459.60,460.20,86,42

11/09/2001,1330,460.10,460.10,458.70,459.40,35,45

Up and down can be ignored.

time frames allowed are 1 minute to 60 minutes

data2

"Date","Time","Open","High","Low","Close","Up","Down"

07/11/2002,900,0,10,-10,[url removed, login to view]

07/11/2002,930,0,10,-10,0.38372985

07/11/2002,1000,0,10,-10,[url removed, login to view]

07/11/2002,1030,0,10,-10,[url removed, login to view]

07/11/2002,1100,0,10,-10,[url removed, login to view]

07/11/2002,1130,0,10,-10,[url removed, login to view]

07/11/2002,1200,0,10,-10,[url removed, login to view]

07/11/2002,1230,0,10,-10,[url removed, login to view]

07/11/2002,1300,0,10,-10,[url removed, login to view]

07/11/2002,1330,0,10,-10,0.33256587

07/11/2002,1400,0,10,-10,[url removed, login to view]

07/11/2002,1430,0,10,-10,0.38372985

07/11/2002,1500,0,10,-10,0.92095165

07/12/2002,900,0,10,-10,[url removed, login to view]

07/12/2002,930,0,10,-10,[url removed, login to view]

07/12/2002,1000,0,10,-10,0.40557668

07/12/2002,1030,0,10,-10,0.17743980

07/12/2002,1100,0,10,-10,[url removed, login to view]

07/12/2002,1130,0,10,-10,0.30418251

07/12/2002,1200,0,10,-10,0.50697085

07/12/2002,1230,0,10,-10,[url removed, login to view]

07/12/2002,1300,0,10,-10,[url removed, login to view]

07/12/2002,1330,0,10,-10,[url removed, login to view]

07/12/2002,1400,0,10,-10,[url removed, login to view]

07/12/2002,1430,0,10,-10,[url removed, login to view]

07/12/2002,1500,0,10,-10,[url removed, login to view]

{we only care about the date,time,and close

We are to trade as follows.

signal=data2

buy on close when signal >0. Sell on close when signal < 0. exit always at 3pm

Reversals are allowed.

don't allow new entries after 2pm

the whole process must be repeated x times. (iteration input)

At stage2, iteration will have some logic / parameters.

At stage1 we are just making a benchmark to see what speeds can be achieved. FASTEST PROGRAMING EXECUTION IS CRITICAL.

Must use all cpu cores

As each iteration will be passed onto a separate cpu core, it doesn't matter if a higher iteration is processed before a lower one.

record output final equity into csv file.

iterationNumber,netprofit

There needs to be a filter to only output iterations with netprofit >outputNetprofitFilter. The reason is we dont care about iterations that are not profitable. This also reduces file output size.

The purpose of stage 1 is to figure out what speeds are achievable. If the speed is good stage2 will be developed. I may as a separate job get a c and java version done to see whats fastest. Then try it on Linux as im told its faster.

Os windows 7 64 bit.

Language c++ or c# or java.

An additional job may be to get a c and java version and see whats the fastest. I am told java for Linux and c for Linux is much faster than windows

Input csv data

Format as shown below

Input option to repeat process x times.

In stage 2, x will be replaced by brute force iterations with some different parameters

stage2.

I have this entire code working in Multicharts / Tradestation. I can give this to the successful applicant. This will make the whole job much easier to understand.

input parameter to have date where data starts processing, stops processing,

signal data is now expanded.

ie data2,data3...data100

point value input. ie 1 point of data1= $100

some simple formula (to be supplied later) are optimized over start date to end date. Out of sample data is end date to last date in file

for example,

if input=1 then signal=average(data2,data3)

if input=2 then signal=average(data3,data4)

if input=3 then signal=data3+data4......

add a stop value and profit target.

add 2 more very simple entry type instead of buy when signal >0 (to be supplied later)

A very simple condition added to abort optimization with current parameter and move into next parameter. ie if date >xyz and netprofit<0 then abort...

output file now

iterationNumber,InSampleNetprofit,InSampleprofitfactor, InSamplenumber_of_trades,InSampleaverage_trade,OutofsampleNetprofit,OutofsampleProfitfactor,OutofsampleNumberOftrades,OutofsampleAverageTrade

some sort of gui showing % of optimization done, and ability to abort optimization with a mouse click.

stage3

genetic optimization option instead of brute force

or Particle Swarm optimization and CMA-ES algorithms.

fitness criteria must be programmable. (ini file or gui)

ie fitnes=(netprofit*2)*profitfactor

stage4

distributive processing to spread load over multiple computers on local lan.

Microsoft Windows Asztal

Projektazonosító: #2754359

A projektről

4 ajánlat Távolról teljesíthető projekt Utoljára aktív: Jul 2, 2012

Odaítélve:

mastirlaa

See private message.

$170 USD 14 napon belül
(40 értékelés)
5.8

4 szabadúszó tett átlagosan 153$ összegű árajánlatot erre a munkára

kkpopov

See private message.

$150.45 USD 14 napon belül
(4 vélemény)
2.0
ashmantri

See private message.

$170 USD 14 napon belül
(1 Visszajelzés)
0.0
howellconsulting

See private message.

$120.7 USD 14 napon belül
(0 vélemény)
0.0