c9s
8f363677bc
move bootstrap functions
2022-09-06 16:50:45 +08:00
c9s
ed975de2cd
cmd: write config json file into the backtest report dir
2022-09-06 13:20:37 +08:00
c9s
8ed39f7565
cmd: add session name to the symbol report json file
2022-09-06 13:18:35 +08:00
zenix
938dc3c497
feature: add serialmarketdatastore, add elliottwave strategy to replace ewoDgtrd, add active cancel on general order executor, add pca
2022-09-05 19:32:35 +09:00
c9s
5c8d2a019a
backtest: rename BackTest to Backtest
2022-09-02 14:16:16 +08:00
c9s
d2f9a352a2
backtest,accounting: add position info to the average cost pnl report
2022-09-02 14:16:16 +08:00
c9s
3d32faff46
backtest: add fee mode config
2022-09-02 14:16:15 +08:00
zenix
acd057cf3e
fix: set exchangeDataSource to pointer in backtest to prevent pass by copy in for loop
2022-09-02 12:32:38 +09:00
Zenix
57d283726a
Merge pull request #900 from zenixls2/fix/backtest
...
fix: backtest
2022-09-01 11:57:05 +09:00
zenix
c2d5a5961f
fix: legacy fixedpoint inf handling, refactor backtest kline consuming
2022-08-30 21:02:21 +09:00
zenix
ecc959835a
fix: cache params and kline until next kline 1m appears
2022-08-29 19:46:58 +09:00
zenix
1eb03c3dba
fix: taker price, matching engine kline emit order and process order, nan in sortino and sharpe
2022-08-29 14:11:02 +09:00
c9s
179a9b1ddb
fix: ensure that orders.tsv are rendered in local timezone
2022-08-26 19:09:11 +08:00
Raphanus Lo
de4f3721a2
backtest: avoid inifite float64 JSON serializing issue
2022-08-25 15:45:08 +08:00
Raphanus Lo
ad1b9a53a1
backtest: calculate realized Sharpe & Sortino ratios
2022-08-25 15:45:08 +08:00
zenix
6b6a24a655
feature: add gma, add wdrift, export drift filter, fix: LastPrice truncation
2022-08-23 17:22:45 +09:00
Raphanus Lo
b4e32a9ba7
hoptimizer: manually early stop
...
User is now able to stop trials by sending system signal (SIGINT & SIGTERM) and see the report earlier at any time.
2022-08-16 14:55:39 +08:00
c9s
e735362efd
cmd/kline: show klines from restful api
2022-08-11 00:08:48 +08:00
c9s
4e4ffe83e5
cmd: fix cpu profile starter
2022-08-09 11:37:30 +08:00
c9s
f9fe5d7790
cmd: move package import paths
2022-08-09 11:36:02 +08:00
Raphanus Lo
68af2d0ff8
optimizer: rename optimizeex to hoptimize
2022-08-02 12:44:42 +08:00
Raphanus Lo
bad0aa31b7
optimizer: print best result in the same parameter order defined in config
2022-07-30 23:43:40 +08:00
Raphanus Lo
67f8b1c32c
optimizeex: hyperparameter optimization tool
...
Currently support the following search algorithms:
- Tree-structured Parzen Estimators (tpe, default)
- Covariance Matrix Adaptation Evolution Strategy (cmaes)
- Quasi-monte carlo sampling based on Sobol sequence (sobol)
- random search (random)
And the following objective function:
- profit
- volume
- equity
2022-07-29 17:09:54 +08:00
zenix
0ae6b6736c
feature: use drift indicator to create basic strategy for study
2022-07-26 18:00:05 +09:00
Raphanus Lo
4985c760be
optimizer: prepare database before executing backtests
2022-07-13 15:28:11 +08:00
c9s
a51f26e3a7
backtest: add gross profit and gross loss fields
2022-07-12 19:50:28 +08:00
c9s
7d232f86b8
remove duplicated dumper close
2022-07-12 19:34:07 +08:00
c9s
7b7d0690c7
optimizer: support --tsv option and render tsv output
2022-07-07 02:11:52 +08:00
Yo-An Lin
0b4044bbb6
Merge pull request #796 from c9s/strategy/pivotshort
...
strategy/pivotshort: add supportTakeProfit method
2022-07-04 12:26:32 +08:00
c9s
82f9fc139c
backtest: refactor exchange field, clean up startTime and endTime deps
2022-07-04 02:34:46 +08:00
c9s
a31f61736a
backtest: pull out userDataStream to backtestEx.BindUserData
2022-07-04 02:27:29 +08:00
c9s
ecd4df86f9
backtest: assign user data stream to backtest.Exchange before we call EmitStart
2022-07-04 02:21:14 +08:00
LarryLuTW
a0e8359d23
add market for calculator
2022-07-02 17:45:24 +08:00
c9s
527070d13d
all: rewrite and clean up graceful shutdown api
2022-06-30 15:49:18 +08:00
c9s
8c850c71a2
cmd/pnl: add --sync option
2022-06-22 18:24:34 +08:00
c9s
fa7177426f
cmd/pnl: fix trade table query
2022-06-22 18:19:11 +08:00
c9s
9574a04cce
types: add time alias string to ParseLooseFormatTime
2022-06-22 17:20:10 +08:00
Yo-An Lin
612df45c5e
Merge pull request #750 from c9s/refactor/persistence-singleton
...
refactor: persistence singleton and improve backtest cancel performance
2022-06-21 14:01:14 +08:00
c9s
9b82de596b
refine optimizer executor config structure
2022-06-21 12:31:42 +08:00
c9s
19d8013f49
bbgo: optimize order cancel for back-testing
2022-06-21 01:12:16 +08:00
Yo-An Lin
74e8540550
Merge pull request #749 from c9s/improve/optimizer-local-proc
...
improve: add parallel local process executor for optimizer
2022-06-20 21:47:06 +08:00
austin362667
c227272542
rsmaker: add bulit-in strategy
...
rsmaker: clean up
2022-06-20 17:23:13 +08:00
c9s
9be38e2421
optimizer: support multi metric value functions
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-06-20 14:52:40 +08:00
c9s
eacd1f1ae6
all: rewrite notification api
...
Signed-off-by: c9s <yoanlin93@gmail.com>
2022-06-19 12:29:36 +08:00
zenix
55fa4cc8f1
fix: apply gofmt on all files, add revive action
2022-06-17 16:06:59 +09:00
zenix
f5007752b2
feature: add heikinashi support
2022-06-17 10:58:32 +09:00
なるみ
5799497a09
marketp: add marketcap strategy
2022-06-16 16:44:02 +08:00
Yo-An Lin
4ef10d1dc4
Merge pull request #713 from andycheng123/improve/share-kline
...
improve: share klines tsv
2022-06-16 07:33:43 +08:00
c9s
b1873aa19b
support specifying session in sync symbol
2022-06-14 13:02:36 +08:00
Andy Cheng
7ffe010c57
optimizer: kline directory by backtest period
2022-06-14 12:54:05 +08:00
Andy Cheng
8f18b414b6
optimizer: move klines to shared/
2022-06-13 13:14:39 +08:00
Andy Cheng
70d6d8f5db
optimizer: share klines in report
2022-06-13 12:26:47 +08:00
c9s
f8dbd26736
move cpu profile option to global cmd
2022-06-09 15:49:52 +08:00
c9s
854661bc71
backtest: move info log suppress after sync
2022-06-08 15:15:57 +08:00
c9s
99bf914415
add warning logs to pnl cmd
2022-06-08 15:10:43 +08:00
c9s
8c6331073d
cmd: fix pnl cmd
2022-06-08 15:10:43 +08:00
c9s
e023d0be5b
service: rewrite kline sync check
2022-06-08 15:10:43 +08:00
c9s
fc8d3ea59f
register dca strategy to builtin
2022-06-07 20:26:56 +08:00
Andy Cheng
34465fac89
Merge pull request #653 from andycheng123/strategy/supertrend
...
strategy: add supertrend strategy
2022-06-07 16:25:49 +08:00
Yo-An Lin
16e9535b8c
Merge pull request #638 from austin362667/strategy/f1
...
strategy: add fmaker
2022-06-07 12:24:26 +08:00
c9s
53e74b6262
fix timezone issue for sqlite and mysql
2022-06-07 00:48:13 +08:00
c9s
022775d0a2
service: use batch insert for kline
2022-06-06 17:21:31 +08:00
c9s
dae4afec10
fix verify() time range
2022-06-06 14:58:26 +08:00
c9s
f65b343ea6
service: clean up Verify method signature
2022-06-06 06:24:25 +08:00
c9s
39fcf1a51b
refactor sync command and add integration tests
2022-06-05 01:01:59 +08:00
c9s
9083881442
refactor exchange factory and solve the incorrect pkg import dependency from ftx
2022-06-04 11:47:55 +08:00
c9s
a7bd9239f2
fix: pull out time.now variable
2022-06-02 21:27:28 +08:00
c9s
991d13cb32
cmd/sync: support multiple session names
2022-06-01 19:40:29 +08:00
c9s
63ad635f62
cmd: rewrite sync command
2022-06-01 19:40:29 +08:00
austin362667
c904f9f0f7
strategy: add fmaker
...
fmaker: cleanup
2022-05-29 21:39:11 +08:00
c9s
11075b0d1a
cmd: add marginInterestsCmd
2022-05-29 12:01:20 +08:00
c9s
4a4699a4bc
cmd: add margin repays cmd
2022-05-29 11:53:36 +08:00
c9s
70f0dccb9f
binance: convert loans and repays to global types
2022-05-29 11:52:25 +08:00
Andy Cheng
bf26076112
strategy: prototype of supertrend strategy
2022-05-27 14:36:48 +08:00
c9s
b8eb036556
simplify ftx kline sync call
2022-05-20 14:06:37 +08:00
c9s
b9b2b8727a
avoid emitting duplicated kline
2022-05-20 13:37:28 +08:00
c9s
b61af0db39
optimizer: add metrics label
2022-05-20 01:53:51 +08:00
c9s
95c9fe4502
return metrics as a optimizer result
2022-05-20 01:42:32 +08:00
c9s
369afa8ab1
merge used intervals
2022-05-20 00:50:58 +08:00
c9s
590748b71d
tsv writer already flush the content before close handle
2022-05-20 00:37:29 +08:00
c9s
b3da6caddb
optimizer: fix op builder
2022-05-19 20:31:25 +08:00
c9s
960f967c34
aggregate total profit and total unrealized profit
2022-05-19 18:45:45 +08:00
c9s
7056853ecd
implement grid optimizer and local process executor
2022-05-19 18:23:12 +08:00
c9s
32ce36fda7
implement json patch for optimizer
2022-05-19 17:27:59 +08:00
c9s
13bf5d69a3
use types.Interval instead of string
2022-05-19 10:04:03 +08:00
Yo-An Lin
e57c39e665
Merge pull request #605 from c9s/feature/backtest-report
...
feature: add web-based back-test report
2022-05-18 02:21:55 +08:00
c9s
f3f6e4e68b
collect symbols
2022-05-18 02:05:57 +08:00
c9s
7dffccb3bf
clean up unused code
2022-05-18 00:50:14 +08:00
c9s
b51d6b4ba1
refactor report structure and rewrite manifest paths
2022-05-17 22:59:34 +08:00
c9s
620e465bcf
refactor symbol report
2022-05-17 22:31:50 +08:00
austin362667
8ab696deaa
pivotshort: rename strategy & fix pivot indicator
2022-05-17 19:18:21 +08:00
austin362667
04ae49263d
cmd: add built-in pivot strategy
2022-05-17 19:18:21 +08:00
c9s
b5f9f86944
define DefaultBacktestAccount
2022-05-17 18:45:06 +08:00
c9s
6acd426f07
refactor backtest report index function
2022-05-17 18:25:05 +08:00
c9s
1cc4c69c66
move and refactor functions
2022-05-17 18:23:09 +08:00
c9s
6c0165afe4
add report index file
2022-05-17 18:10:37 +08:00
c9s
f99e874072
add tsv writer
2022-05-17 01:33:43 +08:00
c9s
e950ee9559
add wall strategy
2022-05-12 22:51:39 +08:00
c9s
0ae8c295e2
refactor csv writer
2022-05-11 14:58:52 +08:00
c9s
e947a05cbd
add defer close
2022-05-11 14:37:45 +08:00