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
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
c9s
234932bc0c
add kline dumper
2022-05-09 18:03:03 +08:00
c9s
6f16f32e16
optimize single exchange back-test
2022-05-09 17:03:01 +08:00
zenix
c81af9ce91
fix: binance futures sync issue
2022-05-09 15:04:51 +09:00
c9s
7378c63cb7
cmd: call SaveState and LoadState for normal run
2022-05-05 14:28:42 +08:00
Yo-An Lin
9c08bea065
Fix accounts field
2022-05-03 17:32:10 +08:00
c9s
f2edd24029
add --sync-exchange option to override backtest sync exchanges
2022-05-03 12:12:39 +08:00
c9s
18da434e92
all: use thread-safe GetAccount method to get account
2022-04-23 15:43:11 +08:00
c9s
fd247cf7d7
cmd: add autoborrow to built-in
2022-04-23 15:00:53 +08:00
austin362667
da51d56624
cmd: add built-in factorzoo strategy
2022-04-20 18:10:27 +08:00
zenix
6f04789111
fix: rename packae name
2022-04-14 20:01:13 +09:00
zenix
42a3737f2e
fix: use series in ewo to predict values
2022-04-13 21:10:07 +09:00
c9s
12ce854150
grpc: integrate market trade
2022-04-13 11:53:09 +08:00
zenix
d0c3390f84
fix log message to be lowercases
2022-04-11 17:04:56 +09:00
zenix
fac61f27dc
feature: add pinescript series interface
2022-04-11 17:04:56 +09:00
c9s
830503941e
cmd: fix backtest sync
2022-04-10 00:57:55 +08:00
c9s
e51fb641af
backtest: show symbols
2022-04-10 00:57:55 +08:00
Yo-An Lin
4cd646e346
feature: basic grpc server ( #514 )
2022-04-08 19:21:57 +08:00
Yo-An Lin
fae4f181b5
Merge pull request #485 from zenixls2/feature/backtest_sig
...
feature: add CancelOrders and CancelOrdersTo to executor
2022-03-16 21:22:32 +08:00
zenix
77a88aabe4
feature: add CancelOrders and CancelOrdersTo to executor
2022-03-16 21:38:09 +09:00
c9s
ed94b8a8d8
remove config flag constraint
2022-03-16 13:52:46 +08:00
c9s
553fe3abf9
remove config flag constrant
2022-03-16 13:51:31 +08:00
c9s
334e3a3940
fix build cmd --config option
2022-03-16 12:26:27 +08:00
c9s
322f31a56a
bbgo: improve RecordPosition method
2022-03-14 21:21:58 +08:00
zenix
7e92f0f4e5
fix: remove requirements on config flag
2022-03-11 19:56:59 +09:00
zenix
25b5eddc03
feature: add multiple exchange support in backtest
...
fix: change doc, since --exchange removed from backtest
fix: test for config changes
2022-03-07 13:18:56 +09:00
Yo-An Lin
f8b257d490
Merge branch 'main' into fix/cmd-required
2022-03-03 19:53:27 +08:00
c9s
f190cc4f6c
cmd: fix account command usage
2022-03-03 19:40:18 +08:00
c9s
f14694c65f
cmd: remove config file check from the account command
2022-03-03 19:39:55 +08:00
zenix
a33b748563
fix: mark flags as required during PreRunE
2022-03-03 18:03:15 +09:00
c9s
3843bda7c2
cmd: remove incorrect MarkPersistentFlagRequired usage
2022-03-03 15:37:17 +08:00
c9s
7d08263cdb
fix: fix required flag marking issue
2022-03-03 15:34:16 +08:00
c9s
da54fbb676
cmd: remove extra config option check
2022-03-03 11:39:28 +08:00
c9s
21ae48c975
cmd: use MarkFlagRequired
2022-03-03 11:36:06 +08:00
c9s
688445d7e7
cmd: add get-order cmd
2022-03-03 00:30:52 +08:00
c9s
127de0d81c
cmd: update executeOrderCmd description
2022-03-03 00:30:52 +08:00
Yo-An Lin
2108003f9b
Merge pull request #454 from zenixls2/fix/pnl
...
fix : #287 init environ before querying balance
2022-02-23 11:46:11 +08:00
zenix
06e9450859
feature: add cmd document
...
add documentation index
2022-02-22 19:36:45 +09:00
zenix
52cc047673
fix : #287 init environ before querying balance
2022-02-22 14:32:35 +09:00
zenix
8648528435
fix go fmt, fix convert.go (the legacy fixedpoint implementation) in all tests
2022-02-15 14:55:19 +09:00
zenix
05521a98b6
add skeleton strategy. fix most of the tests. fix final asset value
2022-02-15 12:01:39 +09:00
zenix
abc1d535d8
fix bollmaker, fix pnl issues
2022-02-15 12:01:39 +09:00
c9s
bf8558e9ad
bollmaker: add BuyBelowNeutralSMA option
2022-02-01 01:40:51 +08:00
c9s
17187c70e7
cmd: print realized profit in colored text
2022-02-01 01:05:11 +08:00
c9s
c0beca78f5
include terminal color for back-test report
2022-02-01 01:00:26 +08:00
c9s
82adff338e
cmd/backtest: calculate performance in quote asset
2022-02-01 00:54:55 +08:00
c9s
547f4c400a
cmd: call BindSync when running strategy
2022-01-27 18:19:25 +08:00
c9s
44efbce8eb
cmd: change trades cmd time range to just 1 day
2022-01-27 09:26:24 +08:00
c9s
c3c2822c82
cmd/trades: avoid passing since and until at the same time
2022-01-27 08:57:31 +08:00
c9s
880d806736
cmd: add --no-sync option to the run command
2022-01-27 08:30:31 +08:00