Commit Graph

488 Commits

Author SHA1 Message Date
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
c9s
479de002a6
record equity curve 2022-05-11 14:36:18 +08:00
c9s
11d0823782
cmd: refactor back-test command 2022-05-11 13:59:44 +08:00
c9s
6e1f9d6a4e
add backtest exchange to the kline handler function 2022-05-10 19:10:16 +08:00
c9s
5f68064ac6
pull out writeJsonFile function 2022-05-10 18:27:23 +08:00
c9s
6fbb082d5f
support manifest json encoding in backtest report 2022-05-10 14:05:44 +08:00
c9s
7b17b1a757
integrate state recorder 2022-05-10 13:31:23 +08:00
c9s
2ddff59de6
add report header 2022-05-10 01:10:36 +08:00
c9s
f4991dbbfa
fix time printing 2022-05-10 01:09:40 +08:00
c9s
f6d95a49be
print start time and end time 2022-05-10 01:07:30 +08:00
c9s
5b443f0aeb
add start time and end time to the report struct 2022-05-10 01:06:16 +08:00
c9s
6965baa8dd
cmd: add directory error checking 2022-05-09 19:40:49 +08:00
c9s
bff73a3a80
format backtest report session name 2022-05-09 19:27:02 +08:00
c9s
428e208120
cmd: add backtest --session option to make it backward compatible 2022-05-09 19:14:24 +08:00
c9s
0780dafdc3
add IsBackTesting method for checking environment mode 2022-05-09 18:58:09 +08:00