Opened 6 years ago

Closed 4 years ago

#1508 closed feature request (done)

Plugin for optimization of trading rules

Reported by: gkronber Owned by: gkronber
Priority: low Milestone: HeuristicLab 3.3.9
Component: Problems.DataAnalysis Version: 3.3.8
Keywords: Cc:

Description

For GECCO 2011 industrial challenge (FX trading)

Change History (51)

comment:1 Changed 6 years ago by gkronber

  • Status changed from new to accepted

comment:2 Changed 6 years ago by gkronber

added first implementation to branch with r6122:6128.

Last edited 6 years ago by gkronber (previous) (diff)

comment:3 Changed 6 years ago by gkronber

  • Status changed from accepted to assigned

comment:4 Changed 6 years ago by mkommend

Please use absolute instead of relative paths for assembly references. Otherwise only people with the same folder structure can build this plugin.

comment:5 Changed 6 years ago by gkronber

r6131: fixed path for references

comment:6 Changed 6 years ago by gkronber

r6136: improved view for trading solutions.

comment:7 Changed 6 years ago by gkronber

r6138: fixed bug in trading solution view.

comment:8 Changed 6 years ago by gkronber

r6861: bug fixes

comment:9 Changed 5 years ago by gkronber

r9176: updated trading plugin to work with current trunk version

comment:10 Changed 5 years ago by gkronber

r9213: changed the ranges for buy/hold/sell signals (1/3, 1/3, 1/3)

comment:11 Changed 4 years ago by gkronber

  • Priority changed from medium to low

This should be integrated into the trunk and a blog post should be published that discusses the implementation.

comment:12 Changed 4 years ago by gkronber

  • Status changed from assigned to accepted

comment:13 Changed 4 years ago by gkronber

r9743: updated classes in trading branch to work with current trunk version of HL.

comment:14 Changed 4 years ago by gkronber

r9744: refactoring: removed unused classes, unified calculation of profits and signals, implemented profit-evaluator.

comment:15 Changed 4 years ago by gkronber

r9745: refactoring: removed smurf-naming.

comment:16 Changed 4 years ago by gkronber

r9796: created a separate plug-in for views.

comment:17 Changed 4 years ago by gkronber

r9797: created a separate plug-in for views (remaining commits)

comment:18 Changed 4 years ago by gkronber

r9798: deleted empty directories

comment:19 Changed 4 years ago by gkronber

r9799: renamed plugin files

comment:20 Changed 4 years ago by gkronber

  • Milestone changed from HeuristicLab 3.3.x Backlog to HeuristicLab 3.3.9

comment:21 Changed 4 years ago by gkronber

r9801: merged trading plug-in into the trunk

comment:22 Changed 4 years ago by gkronber

r9802: reverse merge of broken merge (r9801)

comment:23 Changed 4 years ago by gkronber

r9804:9805: merged trading branch into the trunk

comment:24 Changed 4 years ago by gkronber

r9808: deleted feature branch (trading) after trunk merge

comment:25 Changed 4 years ago by gkronber

r9809: included trading plug-ins into trunk solution

comment:26 Changed 4 years ago by gkronber

r9811: removed empty folders from project file and set svn:ignore properties

comment:27 Changed 4 years ago by gkronber

r9812: removed plugin references and change return type to IConstrainedValueParameter

comment:28 Changed 4 years ago by gkronber

r9822: fixed namespace for classes in Trading.Symbolic

comment:29 Changed 4 years ago by gkronber

r9824: additional commit for r9822 (fix build fail)

comment:30 Changed 4 years ago by gkronber

r9825: additional commit for r9824 (additional commit for r9822) to fix build fail.

comment:31 Changed 4 years ago by gkronber

  • Owner changed from gkronber to mkommend
  • Status changed from accepted to reviewing

comment:32 Changed 4 years ago by ascheibe

  • Owner changed from mkommend to ascheibe
  • Status changed from reviewing to assigned

comment:33 Changed 4 years ago by ascheibe

  • Owner changed from ascheibe to mkommend
  • Status changed from assigned to reviewing

r9897 fixed Mono compatibility of project files

comment:34 follow-up: Changed 4 years ago by mkommend

  • Version changed from branch to 3.3.8

Review comments:

  • What is the purpose of the Problem class and why is it creatable?
  • The grammar in the symbolic trading problem is configured in a weird way (all symbols are enabled).
  • Creating a GA + symbolic trading problem is not executable as an index out of range exception occurs.
  • There is no way to import new data in the problem, which makes the problem practically useless.
  • Better variable naming in ProfitCalculator (e.g., c,p,sum).
  • Symbolic.SolutionView is superfluous.

comment:35 Changed 4 years ago by mkommend

  • Owner changed from mkommend to gkronber
  • Status changed from reviewing to assigned

r9928: Minor code cleanup in trading plugin.

comment:36 in reply to: ↑ 34 Changed 4 years ago by gkronber

Replying to mkommend:

Review comments:

  • What is the purpose of the Problem class and why is it creatable?

r9939: the file has been deleted

  • The grammar in the symbolic trading problem is configured in a weird way (all symbols are enabled).

r9941: configured the grammar of the problem for GP trading as a standard time series problem grammar

  • Creating a GA + symbolic trading problem is not executable as an index out of range exception occurs.

This is actually a bug in way how the linear interpreter calls the old interpreter (see #2021). After r9944 the bug does not occur anymore.

  • There is no way to import new data in the problem, which makes the problem practically useless.

r9964: added a problem instance provider for the trading problem (the provider downloads historic FX rates from ECB).

  • Better variable naming in ProfitCalculator (e.g., c,p,sum).

r9938: variable names have been improved.

  • Symbolic.SolutionView is superfluous.

r9940: deleted unnecessary class Symbolic.SolutionView

Last edited 4 years ago by gkronber (previous) (diff)

comment:37 Changed 4 years ago by gkronber

r9965 added plugin dependency

comment:38 Changed 4 years ago by gkronber

r9989: worked on problem instance providers for trading problem

comment:39 Changed 4 years ago by gkronber

r9991:

  • fixed a bug in the ECB problem instance provider (reversed time series)
  • improved the ProblemInstanceProviderViewGeneric class to show a progress bar while loading the problem instance
  • fixed the build fail (in SolutionLineChartView)

comment:40 Changed 4 years ago by gkronber

r9992:

  • disabled "Variable" symbol in default time series grammar
  • in the line chart use two different axis to display signals and prices
  • in the line chart display profits for training and test partitions separately
  • fixed hard-coded strings in SolutionView
  • added plugin dependency

comment:41 Changed 4 years ago by abeham

This ticket should be released to stable before #2110 due to changes in r9991 which likely also affect the other ticket.

comment:42 Changed 4 years ago by gkronber

r9995: enabled target variable as input variable for the trading plugin

comment:43 Changed 4 years ago by gkronber

r9997: fixed bugs in line chart visualization for the trading plugin

comment:44 Changed 4 years ago by gkronber

  • Owner changed from gkronber to ascheibe
  • Status changed from assigned to reviewing

comment:45 Changed 4 years ago by abeham

Not all of the instances of the ECB work: "Could not load the problem instance EUR / BGN". ArgumentException: The number of values must be equal for every variable.

comment:46 Changed 4 years ago by gkronber

Thanks for testing this. I fixed the problem in the ECB data provider (some rates are not available for the full time interval) with r10004.

comment:47 Changed 4 years ago by ascheibe

  • Owner changed from ascheibe to gkronber
  • Status changed from reviewing to assigned

I have reviewed and tested the changes since mkommends review. The only problem that I found is that the "Export" button in the TradingSolutionView throws an exception. The button should be therefore hidden.

comment:48 Changed 4 years ago by gkronber

  • Status changed from assigned to accepted

comment:49 Changed 4 years ago by gkronber

  • Owner changed from gkronber to ascheibe
  • Status changed from accepted to reviewing

r10015: hide export button in view for symb. trading solutions

comment:50 Changed 4 years ago by ascheibe

  • Owner changed from ascheibe to gkronber
  • Status changed from reviewing to readytorelease

Ok, looks good, thanks!

comment:51 Changed 4 years ago by gkronber

  • Resolution set to done
  • Status changed from readytorelease to closed
Note: See TracTickets for help on using tickets.