Compare commits
619 Commits
33d6ea6da3
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| bb2cb1e03f | |||
| 3ecaefce47 | |||
| 0b1d08e694 | |||
| b4de53a7ed | |||
| d8ff28fee2 | |||
| 3d8e000a1e | |||
| 60f3998dd9 | |||
| 909361dc1d | |||
| ee95e8647d | |||
| 9d63ed59d7 | |||
| f13394db7a | |||
| 648ce3ae63 | |||
| b9526affec | |||
| f030bad0a8 | |||
| ff2a05bf24 | |||
| ebe4a930cd | |||
| ee90fc5cd4 | |||
| fd7354e8c2 | |||
| f756457bbb | |||
| 770ace7d2c | |||
| 1f9e98fe1e | |||
| 7b6efcc687 | |||
| c0e1a6e47e | |||
| 949d4f6b11 | |||
| e0c0dd2cca | |||
| dc8696e4c0 | |||
| 5730efcb1d | |||
| bde561b348 | |||
| f515c555f5 | |||
| a0b5dc8fd0 | |||
| af6214f0ab | |||
| d1a9d76523 | |||
| 99c2897404 | |||
| 1164032a5e | |||
| d41c8adc46 | |||
| 8199fa0308 | |||
| 17aaf0ac64 | |||
| fec747a5ae | |||
| 4dc161ed04 | |||
| 4a1eda3822 | |||
| b5a400367b | |||
| df044bfd63 | |||
| 9f1d93e065 | |||
| f6a5aded86 | |||
| 2ae051d84b | |||
| b146112d99 | |||
| 0c1e4cd05b | |||
| dcbc871af8 | |||
| 1b9bbc3c09 | |||
| aad82b73a8 | |||
| 60eec53c92 | |||
| ca9d795484 | |||
| 628cd8c5ec | |||
| 8adf8aa7d7 | |||
| 4320f0c0f9 | |||
| 1b240339c0 | |||
| 2876ae63d4 | |||
| 44736eea61 | |||
| c821dee279 | |||
| 919bad8414 | |||
| 1f8916c62f | |||
| 709e41570a | |||
| d2c423a5e8 | |||
| 566a67476a | |||
| a53b8bbe38 | |||
| cfc9184ab2 | |||
| 423fc1290a | |||
| cef10794ae | |||
| 2b3fc2e9f7 | |||
| ff05b16b28 | |||
| 9be2378a67 | |||
| dfdb6fa062 | |||
| b430ce0168 | |||
| 9e8faa8c6b | |||
| a99552e327 | |||
| cfccd4487d | |||
| 0122bb0b23 | |||
| d4664dcccd | |||
| 78e02fc50b | |||
| 3d90bf9706 | |||
| 8f9bd63608 | |||
| 175120b243 | |||
| 32e7dc793d | |||
| aa86af13b4 | |||
| 0e0fbb31a9 | |||
| 80e29056da | |||
| 5c84c99cb9 | |||
| b0ef831e97 | |||
| 5be9bea25f | |||
| 18a03b3708 | |||
| 19936b9514 | |||
| 1fe3a77b14 | |||
| 909411084d | |||
| 0957250d05 | |||
| fcef747166 | |||
| f0216b64f7 | |||
| 83cd4355e9 | |||
| 8bd124d682 | |||
| 212f11b512 | |||
| 21a97b19e3 | |||
| 5c1a09fb13 | |||
| 2f51e4a39b | |||
| f103e22f13 | |||
| 6998655781 | |||
| 65b1c0640d | |||
| d7ca44567c | |||
| 9d3354af1f | |||
| dcec809ba1 | |||
| 26eafcd4bb | |||
| 26cf52baca | |||
| 48de845aaa | |||
| 1f59c9514b | |||
| 418782fc63 | |||
| c00955e29d | |||
| 027819df65 | |||
| cf5a3b7806 | |||
| 03a455493a | |||
| 9b4c463189 | |||
| 9bf524b0fa | |||
| 755793c915 | |||
| df1e9977fc | |||
| 7895841d34 | |||
| b779f76b5d | |||
| e6712e1249 | |||
| 2e4b128f01 | |||
| 9a8d2719be | |||
| f1cde6ec1c | |||
| 7a76ed1f61 | |||
| 979d1ffe67 | |||
| fc5f8f1130 | |||
| 3c81e6ec6c | |||
| 493bc729bd | |||
| 3ba7970b14 | |||
| d9115fa899 | |||
| 2ebeb5e91a | |||
| fd3b13a0ad | |||
| 6bd24db80e | |||
| 25602a5557 | |||
| e2215ba63f | |||
| 0ab935ade5 | |||
| 3ad85603df | |||
| 542e6ff93f | |||
| 3766ef2ca4 | |||
| fd823f4a06 | |||
| 1123a84e81 | |||
| 13c1123075 | |||
| c62f36011f | |||
| 0445202db2 | |||
| cdcd010287 | |||
| 83b5d36713 | |||
| cd6148ae67 | |||
| 920bb1e37b | |||
| 7804352a3d | |||
| ad604395cd | |||
| bdea94022c | |||
| f64555f0c0 | |||
| c36c872b4d | |||
| 349b6cc233 | |||
| b8246205ec | |||
| 5c88c15f65 | |||
| 6c6016b6dc | |||
| 20199546d9 | |||
| 6927c07958 | |||
| 6fab5171ab | |||
| fb8ea54d11 | |||
| d2437a982e | |||
| 885cb2d764 | |||
| 74f9e30b00 | |||
| c1cc8c450a | |||
| 0b86307903 | |||
| 403c97b1db | |||
| 607f590c1b | |||
| de13cbef0f | |||
| 0c3ad5bb64 | |||
| 79a3fcc14b | |||
| f58b5ee037 | |||
| d4810e6533 | |||
| 88471f7721 | |||
| dc65ce12a0 | |||
| ff39bcabf3 | |||
| affb77fcb8 | |||
| a4df2710d9 | |||
| 6775054da5 | |||
| b1aa63e56e | |||
| d1a1c07ea6 | |||
| ce39ddefa8 | |||
| c15f495bd2 | |||
| 9ca46362f8 | |||
| c4cbe8a434 | |||
| 6e96103ff2 | |||
| 43bc6e1c38 | |||
| 6836d3317d | |||
| 853a7cea90 | |||
| dab5c88c9a | |||
| 259f4c818f | |||
| 93e2773567 | |||
| 40de8db193 | |||
| b7510a4590 | |||
| 88091fb1d7 | |||
| 11bc3634e6 | |||
| bac0b204b1 | |||
| db8cbe3d74 | |||
| 556f252031 | |||
| 631d961064 | |||
| f8cc54d4ba | |||
| 9c55a2d271 | |||
| f0f58340d1 | |||
| eaa25ad7c4 | |||
| 7cebeefdd0 | |||
| dc46fce8be | |||
| 0a06ca677c | |||
| b20ae93eb0 | |||
| e73697d611 | |||
| eecc771f1c | |||
| 2fd756db01 | |||
| d710888f80 | |||
| 5d246fb62f | |||
| 965953fb93 | |||
| 6e4937d078 | |||
| a93b308ee1 | |||
| 64f9ecce0b | |||
| 436de91453 | |||
| 81d234e4c1 | |||
| 1d0f1749f7 | |||
| 49ba28a2ef | |||
| 280b42bf23 | |||
| f19ac24d52 | |||
| c6fa4bbc4b | |||
| c04c574408 | |||
| 63049279c6 | |||
| 55f1806c02 | |||
| b50ea22bc4 | |||
| 7265c89edc | |||
| 22e7f1366f | |||
| fc73f204e1 | |||
| 87d6e21959 | |||
| dbda873b75 | |||
| 3773ef78e9 | |||
| 831f912146 | |||
| b5038118cc | |||
| 96fa518223 | |||
| fec7143fe2 | |||
| a9bea8ac3f | |||
| 9d03608dd6 | |||
| ca62fae1e8 | |||
| 5ac78da037 | |||
| bb354ae879 | |||
| 7cb2d2397a | |||
| 72ad80a56c | |||
| bde39fe8de | |||
| f89a3771d3 | |||
| d1a575f15d | |||
| 76a717362c | |||
| 6e37330347 | |||
| a932d582b0 | |||
| 5a77f32ac0 | |||
| 919bf5b3d1 | |||
| 26ed26162d | |||
| ee58c1491c | |||
| 3d51bc2ede | |||
| 4d3897ef3d | |||
| 3c36085620 | |||
| 0ec2315950 | |||
| 5fba841645 | |||
| 6000990563 | |||
| bc0ae59f15 | |||
| 40e8d0dd0b | |||
| c7c77d09ec | |||
| 61a21d5b45 | |||
| d865d84a87 | |||
| 1e0db61b07 | |||
| 42639ba16e | |||
| c8023d154e | |||
| 2071f5b8b9 | |||
| 4617932f78 | |||
| 3f7222ecf9 | |||
| 409064e9d3 | |||
| 9717c4cfad | |||
| e29069cdb3 | |||
| 45b9856967 | |||
| 547ddb3bd2 | |||
| 294d944f90 | |||
| 8dcc2070e0 | |||
| cf20a79755 | |||
| f1e5dbb355 | |||
| dd206be73f | |||
| 0a9bdb806e | |||
| fd83ca2c25 | |||
| 3320c37a7e | |||
| 5a3ec67ed1 | |||
| 563eb80504 | |||
| 79b3ce6cc5 | |||
| 6b359dd4ee | |||
| bb157ec31f | |||
| 4a9fd6f37d | |||
| b141e3bb47 | |||
| 38e75acdac | |||
| f382a793be | |||
| 731a70b700 | |||
| 8ef0e83e88 | |||
| c71449f500 | |||
| f62dc8fb90 | |||
| 68d80359ca | |||
| 26e15b4f01 | |||
| 9e88596812 | |||
| d6d838b7b1 | |||
| 55b6e6484a | |||
| 6c9385ec6a | |||
| 8235f36d5d | |||
| cad5a451cc | |||
| 2119fe1633 | |||
| cd077e8b92 | |||
| 393985f7e6 | |||
| 992fac596c | |||
| 19774c63c5 | |||
| 46018d204e | |||
| 2b219be0d5 | |||
| 9b63d6f459 | |||
| 8261c01f98 | |||
| 6b1e9f162f | |||
| efac824836 | |||
| 35a641c74e | |||
| 70c55482ed | |||
| cf1d5ecc3b | |||
| a04939f839 | |||
| d72e9c6d69 | |||
| e00bf07a3b | |||
| b741f14a58 | |||
| 707209b929 | |||
| d8b1e9bc91 | |||
| e9d1384c21 | |||
| e83a1988bf | |||
| 5bb1f63704 | |||
| 546038864e | |||
| 99b26cbd67 | |||
| 1853aafb1c | |||
| faa4ec0d3c | |||
| dbd9da9b1a | |||
| c2cc714046 | |||
| 8af6536346 | |||
| eda2b8b150 | |||
| cdbecde1c3 | |||
| 6e60af48e9 | |||
| 8b2e84238f | |||
| 7c4f549b20 | |||
| f8a42bec43 | |||
| 181385f512 | |||
| 755d0a1e80 | |||
| cf487995ca | |||
| b2088de1d7 | |||
| 40ff529889 | |||
| 23a369aee7 | |||
| dd96d897ba | |||
| 7e97aaa77c | |||
| 13f8289de2 | |||
| 35d04fdd08 | |||
| 555cc40a77 | |||
| 247d60a7ea | |||
| 98050e740b | |||
| a5f0fe0c4b | |||
| 9960cbfe26 | |||
| 11b09ef71a | |||
| 8b08c14627 | |||
| 13b51900e9 | |||
| 4141e78d33 | |||
| acb130966f | |||
| 3e78afe244 | |||
| 8809772ba5 | |||
| f901bde9d9 | |||
| bfa166f874 | |||
| 68858ffb57 | |||
| 31ca5e7a32 | |||
| e75912bf2b | |||
| 116c56c622 | |||
| 4ab4207ca2 | |||
| a42865b119 | |||
| 4721d9ab71 | |||
| fd34f67abf | |||
| 81e360b6a8 | |||
| 9a75264925 | |||
| 19d26dec4d | |||
| 686ba904c8 | |||
| 274b71633b | |||
| 44f32b839e | |||
| f0501522a2 | |||
| 744959736f | |||
| 685239fa8f | |||
| 16549415b0 | |||
| 3aa9dd1bcf | |||
| 8ab405f03d | |||
| 48ba0fdefe | |||
| c87d71bbda | |||
| cf4e10b653 | |||
| d5cf22c77c | |||
| 5c5c076a3b | |||
| 3245f15b4f | |||
| 63ff576d1e | |||
| f0c90a9766 | |||
| 2a3ad605e6 | |||
| c8cd4ad1c0 | |||
| d5e67c33e0 | |||
| cef7fc759a | |||
| d1035c4c8b | |||
| 02e66cfa93 | |||
| 5174fbdc8e | |||
| 78d62de236 | |||
| a77f9a34e9 | |||
| 9eef23ca71 | |||
| 11a81e5eb7 | |||
| 685051d9e1 | |||
| 6de3879c7a | |||
| d2196799ac | |||
| 211f2216ae | |||
| 23e79d9df8 | |||
| f463590151 | |||
| 41508f0357 | |||
| c8383993ce | |||
| 1e45b608a1 | |||
| c0f7f303da | |||
| 70a7e299f2 | |||
| 02e6410240 | |||
| e87f2c3187 | |||
| f09a538843 | |||
| dee2c64700 | |||
| e02317908a | |||
| 4258184245 | |||
| 0fa3515f2b | |||
| c4640a7109 | |||
| a0add61e03 | |||
| e409e0a61d | |||
| 1b40acc220 | |||
| 98c9fb1f9a | |||
| bfc3a8f941 | |||
| 66a48cc710 | |||
| 460b618fae | |||
| 06f2a13b1d | |||
| c234702a8d | |||
| 69e22b24e2 | |||
| 29ed21e193 | |||
| aeb7426ad0 | |||
| db8f735aa6 | |||
| 12285b8a8d | |||
| 2776fc94f0 | |||
| 5d82f50ec0 | |||
| e6c0cbc03e | |||
| 5a0f3ab0ac | |||
| b91e149c07 | |||
| 9e1dd5c29c | |||
| 5c77e7593f | |||
| aa111d29d7 | |||
| 6cab5e8617 | |||
| cfe7556501 | |||
| 2e9a8148b4 | |||
| fa71461128 | |||
| eff9a4ea2f | |||
| a597582ea8 | |||
| 3db3cf57f0 | |||
| 4acfe8bb41 | |||
| 4ec2df42f4 | |||
| 0cfeb4dc04 | |||
| e008d86b5f | |||
| 1db1724010 | |||
| 228da4819d | |||
| e988c410a6 | |||
| e620dca6de | |||
| 91496c3f67 | |||
| e07d7ebba2 | |||
| f712b43ea0 | |||
| 3632d05c2f | |||
| f19a46dd2d | |||
| 5bcf5cd890 | |||
| 3ca18ecbcc | |||
| f736fb40c0 | |||
| 9ea5410298 | |||
| 5787929846 | |||
| b26f5345e0 | |||
| 288287c0bc | |||
| f630df7db4 | |||
| 90cac8c797 | |||
| dc0b14b490 | |||
| 2bf57ce6ec | |||
| 41cd1750bb | |||
| 9a4fe26335 | |||
| fa41082dcb | |||
| 51c4973918 | |||
| 19237f4876 | |||
| 0572a592a9 | |||
| bdb714fbba | |||
| 5d8e174d16 | |||
| e9bad38929 | |||
| c9b179bd0a | |||
| b6d755cbd7 | |||
| 3002e5cd40 | |||
| 767741f068 | |||
| fff7295743 | |||
| e53bf00fad | |||
| d0b91451fb | |||
| 61b66c2151 | |||
| 725386272f | |||
| aa0b29d1a8 | |||
| 3255a12fe6 | |||
| 8387afd0ae | |||
| 99a4e1376c | |||
| 81ed8c866a | |||
| cced17f02a | |||
| e128b2ca7d | |||
| 3dbbf784be | |||
| 976ce74667 | |||
| 4fdd2d81e5 | |||
| e89d748211 | |||
| da804410ca | |||
| 4ff6597d94 | |||
| 191c9666c4 | |||
| 87ccaebeca | |||
| a6a373eb76 | |||
| a6825406a4 | |||
| 9b977ccd57 | |||
| 9148f23a75 | |||
| ac4b047054 | |||
| 6c8ba5fe79 | |||
| be298b72d8 | |||
| 5dead13487 | |||
| 2cbbc5c0fb | |||
| 1b101615b8 | |||
| e910ec3e2c | |||
| de68ccd176 | |||
| 46f824eed2 | |||
| b3f6cb5968 | |||
| 0be6be6812 | |||
| 2e8be6c6b6 | |||
| 353dc50ec8 | |||
| dae3c0984c | |||
| b23d92ad44 | |||
| a27876287e | |||
| bb8d36dc10 | |||
| 45e7021152 | |||
| ce740d1d7d | |||
| b4e8d3bba4 | |||
| 7ad83f2ee3 | |||
| 3ddd2d1806 | |||
| 18087c11cf | |||
| 9175b62752 | |||
| 1f7f7cc77c | |||
| 6d822203ef | |||
| e03ab00b2f | |||
| bcba3cf87f | |||
| 677bd3fc50 | |||
| e2a123bcc9 | |||
| 1373c67aad | |||
| 758e46f59d | |||
| c3f9b71f3c | |||
| f8d6b00d92 | |||
| 05b475d2a6 | |||
| 912ee2fb2e | |||
| 04878ebacc | |||
| aff69f1539 | |||
| fc8019ca8a | |||
| 7a12c09e9b | |||
| c8b85456f5 | |||
| 244667f280 | |||
| c7cd78e7cb | |||
| 80ce6ca4d0 | |||
| a03e80861c | |||
| b42ce5c74b | |||
| 6f020ba5a8 | |||
| 6518ff1e04 | |||
| 890e6871f5 | |||
| 7d908572e4 | |||
| 765e168d45 | |||
| a346520e62 | |||
| 731ab6d60d | |||
| 8fa13b32de | |||
| 9d947bf11e | |||
| 9fe83ff479 | |||
| 1cfc3c558f | |||
| 4a36924ee3 | |||
| fb657505df | |||
| 65a65e26f1 | |||
| 2823439a17 | |||
| 05fb99b414 | |||
| 4560a37ea3 | |||
| c023217e13 | |||
| 9ee7640386 | |||
| d22b1d12af | |||
| a59029831a | |||
| ec1afdf6f2 | |||
| f1648818e6 | |||
| d100780f16 | |||
| ebc9569fa8 | |||
| 79c4b9a19d | |||
| 9b8ebac9a1 | |||
| 2430ff0fe0 | |||
| 93c0e5bb55 | |||
| c2b70c3ae5 | |||
| 0eb0f63f5b | |||
| 178b601842 | |||
| 43eaee4ffb | |||
| ca480015ea | |||
| 60b30ab7d3 | |||
| daa2e7db7a | |||
| d72fc523e5 | |||
| c61186eb41 | |||
| 94fdd1d337 | |||
| 8a0dff7226 | |||
| 05be8c7b96 | |||
| c2f5d25402 | |||
| b2dcdd0971 | |||
| a799555b54 | |||
| fab2765f18 | |||
| ba09d897a6 | |||
| 11a650770e | |||
| 84b24c8a55 | |||
| 1aa24bbcfb | |||
| 5798005c14 | |||
| 4bee00a850 | |||
| 04d0299f10 | |||
| 156b4d68fa | |||
| a5c379d0c6 | |||
| 8ac070c6e0 |
+3
-1
@@ -1 +1,3 @@
|
||||
.vscode
|
||||
.vscode/
|
||||
tmp/
|
||||
__DEPRECATED__/
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": "."
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
dist.json.cfg - MUST BE STRICT JSON: no comments, macros, etc.
|
||||
+22
-39
@@ -7,11 +7,11 @@
|
||||
{
|
||||
"cvtt.vpn": {
|
||||
// ----------- C l o u d
|
||||
"cloud11": {
|
||||
"type": "cloud",
|
||||
"users": ["oleg", "cvtt"],
|
||||
"docker": "true",
|
||||
},
|
||||
# "cloud11": {
|
||||
# "type": "cloud",
|
||||
# "users": ["oleg", "cvtt"],
|
||||
# "docker": "true",
|
||||
# },
|
||||
"cloud15": {
|
||||
"type": "cloud",
|
||||
"users": ["oleg"],
|
||||
@@ -27,11 +27,6 @@
|
||||
"users": ["oleg", "cvtt", "cvttdist", "git"],
|
||||
"docker": "true",
|
||||
},
|
||||
"cloud22": {
|
||||
"type": "cloud",
|
||||
"users": ["oleg"],
|
||||
"docker": "false",
|
||||
},
|
||||
"cloud23": {
|
||||
"type": "cloud",
|
||||
"users": ["oleg", "cvtt"],
|
||||
@@ -57,14 +52,29 @@
|
||||
"users": ["oleg", "cvtt"],
|
||||
"docker": "true",
|
||||
},
|
||||
"cloud32": {
|
||||
"type": "cloud",
|
||||
"users": ["oleg"],
|
||||
"docker": "false",
|
||||
},
|
||||
"cloud33": {
|
||||
"type": "cloud",
|
||||
"users": ["oleg"],
|
||||
"docker": "false",
|
||||
},
|
||||
|
||||
// ----------- B a r e M e t a l
|
||||
"hs01": {
|
||||
"hpbs01": {
|
||||
"type": "metal",
|
||||
"users": ["oleg", "cvtt", "cvttdist", "git"],
|
||||
"docker": "true",
|
||||
},
|
||||
"hbkp01": {
|
||||
"hpve01": {
|
||||
"type": "metal",
|
||||
"users": ["oleg"],
|
||||
"docker": "false",
|
||||
},
|
||||
"hpve02": {
|
||||
"type": "metal",
|
||||
"users": ["oleg"],
|
||||
"docker": "false",
|
||||
@@ -114,30 +124,11 @@
|
||||
},
|
||||
|
||||
// -- Headless
|
||||
# "cvtt-build": {
|
||||
# "type": "vm",
|
||||
# "users": ["oleg"],
|
||||
# "docker": "true",
|
||||
# "to_check": "No",
|
||||
# },
|
||||
"cvtt-md": {
|
||||
"type": "vm",
|
||||
"users": ["oleg", "cvtt"],
|
||||
"docker": "true",
|
||||
},
|
||||
# "cvtt-testserver": {
|
||||
# "type": "vm",
|
||||
# "users": ["oleg", "cvtt"],
|
||||
# "docker": "true",
|
||||
# "to_check": "No",
|
||||
# },
|
||||
# "cvtt-testdb": {
|
||||
# "type": "vm",
|
||||
# "users": ["oleg", "cvtt"],
|
||||
# "docker": "true",
|
||||
# "to_check": "false",
|
||||
# "timeout_sec": 11,
|
||||
# },
|
||||
"ops-server": {
|
||||
"type": "vm",
|
||||
"users": ["oleg", "cvtt"],
|
||||
@@ -156,13 +147,5 @@
|
||||
"to_check": "Yes",
|
||||
},
|
||||
},
|
||||
|
||||
"cryptovaltrading.com": {
|
||||
"cloud18": {
|
||||
"users": ["oleg"],
|
||||
"type": "cloud",
|
||||
"ssh_port": 7822,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"Mattermost": {
|
||||
"to_check": "Yes",
|
||||
"protocol": "https",
|
||||
"host": "mattermost.cryptovaltrading.com",
|
||||
"host": "mattermost.cvtt.net",
|
||||
"port": 443
|
||||
},
|
||||
"Gitea": {
|
||||
@@ -45,12 +45,12 @@
|
||||
"host": "trading-calendar.cvtt.net",
|
||||
"port": 443
|
||||
},
|
||||
"US EQTY Rel.Liquidity": {
|
||||
"to_check": "Yes",
|
||||
"protocol": "http",
|
||||
"host": "cloud23.cvtt.vpn",
|
||||
"port": 5678
|
||||
},
|
||||
# "US EQTY Rel.Liquidity": {
|
||||
# "to_check": "Yes",
|
||||
# "protocol": "http",
|
||||
# "host": "cloud23.cvtt.vpn",
|
||||
# "port": 5678
|
||||
# },
|
||||
# "PyTorch (Jupyter)": {
|
||||
# "to_check": "No",
|
||||
# "protocol": "http",
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"cvttpy_tools": {
|
||||
"dist_root": "/home/cvttdist/software/cvtt2",
|
||||
"dist_user": "cvttdist",
|
||||
"dist_locations": [
|
||||
"cloud21.cvtt.vpn:22",
|
||||
"hpbs01.cvtt.vpn:22"
|
||||
]
|
||||
},
|
||||
"cvttpy_trading": {
|
||||
"dist_root": "/home/cvttdist/software/cvtt2",
|
||||
"dist_user": "cvttdist",
|
||||
"dist_locations": [
|
||||
"cloud21.cvtt.vpn:22",
|
||||
"hpbs01.cvtt.vpn:22"
|
||||
],
|
||||
"dependencies": [
|
||||
"cvttpy_tools"
|
||||
]
|
||||
},
|
||||
"cvttpy_apps": {
|
||||
"dist_root": "/home/cvttdist/software/cvtt2",
|
||||
"dist_user": "cvttdist",
|
||||
"dist_locations": [
|
||||
"cloud21.cvtt.vpn:22",
|
||||
"hpbs01.cvtt.vpn:22"
|
||||
],
|
||||
"dependencies": [
|
||||
"cvttpy_tools",
|
||||
"cvttpy_trading"
|
||||
]
|
||||
},
|
||||
"cvttpy_microservices": {
|
||||
"dist_root": "/home/cvttdist/software/cvtt2",
|
||||
"dist_user": "cvttdist",
|
||||
"dist_locations": [
|
||||
"cloud21.cvtt.vpn:22",
|
||||
"hpbs01.cvtt.vpn:22"
|
||||
],
|
||||
"dependencies": [
|
||||
"cvttpy_tools",
|
||||
"cvttpy_trading"
|
||||
]
|
||||
},
|
||||
"cvtt_docker": {
|
||||
"dist_root": "/home/cvttdist/software/cvtt2",
|
||||
"dist_user": "cvttdist",
|
||||
"dist_locations": [
|
||||
"cloud21.cvtt.vpn:22",
|
||||
"hpbs01.cvtt.vpn:22"
|
||||
]
|
||||
},
|
||||
"cvtt_dashboard": {
|
||||
"dist_root": "/home/cvttdist/software/cvtt2",
|
||||
"dist_user": "cvttdist",
|
||||
"dist_locations": [
|
||||
"cloud21.cvtt.vpn:22",
|
||||
"hpbs01.cvtt.vpn:22"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
{
|
||||
"CVTT_QST001": {
|
||||
"class": "cvttpy.trading.strategies.test_strat.SeesawTestStrategy"
|
||||
, "params": {
|
||||
"dummy": "dummy"
|
||||
}
|
||||
}
|
||||
, "VWAP001": {
|
||||
"class": "cvttpy.trading.strategies.vwap_strat.VWAP001"
|
||||
, "params": {
|
||||
"vwap_interval": "1 hour"
|
||||
, "hist_md_source": {
|
||||
"loader_class": "cvttpy.research.time_series.loaders.tsdb_loader.TsMdLoader"
|
||||
, "credentials_key": "TSDB_MD_CVTTDATA_RO"
|
||||
, "interval": "2 hours"
|
||||
#, "from_time" is calculated
|
||||
}
|
||||
}
|
||||
}
|
||||
, "DAILY_STOCK_001": {
|
||||
"class": "cvttpy.trading.strategies.daily_stocks_strat.DailyStocksStrategy"
|
||||
, "params": {
|
||||
"liquidate_at": "15:45" # EDT Time
|
||||
}
|
||||
}
|
||||
, "MAN-TPOS-BY-REDIS": {
|
||||
"class": "cvttpy.trading.strategies.manual_strat.TgtPosByRedisStrategy"
|
||||
, "params": {
|
||||
"redis_subject": "MAN_TGT_POS"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"ALPACA_SNDBX": {
|
||||
"dynamic_stock_list": {
|
||||
"exchange_id": "ALPACA"
|
||||
, "list_source": "redis"
|
||||
, "comm_settings": "/comm/pubsub/redis/cvtt-prod-eqty-01"
|
||||
, "redis_key": "DAY_STOCK_LIST"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,251 +0,0 @@
|
||||
@var ResultPath=/tmp
|
||||
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
, "comm_settings": "/comm/pubsub/redis/cloud17"
|
||||
# , "cvttcomm": {
|
||||
# "type": "redis"
|
||||
# # , "comm_settings": "/comm/pubsub/redis/localhost"
|
||||
# , "comm_settings": "/comm/pubsub/redis/cloud17"
|
||||
# }
|
||||
, "session_type": "PERMANENT"
|
||||
, "books": {
|
||||
"CVTT_BK01": {}
|
||||
}
|
||||
###### N E W S E C T I O N (example)
|
||||
, "simulation": {
|
||||
"speed_factor": 0.0,
|
||||
"time_events_interval_ms": 100
|
||||
}
|
||||
, "market_simulator" : {
|
||||
"market_data": {
|
||||
"sources": [
|
||||
{
|
||||
"loader_class": "cvttpy.research.time_series.loaders.tsdb_loader.TimescaleTSLoader"
|
||||
, "credentials_key": "TSDB_MD_CVTTDATA_RO"
|
||||
# , "interval": "4 hours"
|
||||
, "interval": "2 hours"
|
||||
, "from_time": "2024-04-15 09:00:00"
|
||||
}
|
||||
# , {
|
||||
# "loader_class": "cvttpy.research.time_series.loaders.sqlite_loader.SqliteMdLoader",
|
||||
# "file_name": "${SourcePath}/20240424.ALPACA.QAT.db"
|
||||
# }
|
||||
]
|
||||
}
|
||||
, "accounting": {
|
||||
"initial_positions": {
|
||||
"COINBASE": {
|
||||
"BTC": 0
|
||||
, "USD": 1000.0
|
||||
}
|
||||
}
|
||||
}
|
||||
, "order_entry": {
|
||||
"execution": {
|
||||
"top_only": true
|
||||
,"min_order_age_sec": 0.1
|
||||
, "pricing_method": "BY_MKT_TRD_PRICE_BY_ORDER"
|
||||
# , "presubscribe_md_types": ["BOOK_TOP", "TRADES"]
|
||||
}
|
||||
}
|
||||
}
|
||||
###### N E W S E C T I O N - end
|
||||
, "backtest": {
|
||||
"exchanges_settings": {
|
||||
"*": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
}
|
||||
,"order_entry": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
}
|
||||
,"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
}
|
||||
}
|
||||
, "source": {
|
||||
"database": {
|
||||
"class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient"
|
||||
, "credentials_key": "TSDB_MD_CVTTDATA_RO"
|
||||
}
|
||||
# , "interval": "4 hours"
|
||||
, "interval": "6 hours"
|
||||
, "from_time": "2024-04-01 09:00:00"
|
||||
}
|
||||
, "initial_positions": {
|
||||
"COINBASE": {
|
||||
"BTC": 0
|
||||
, "USD": 1000.0
|
||||
}
|
||||
}
|
||||
, "simulation": {
|
||||
"speed_factor": 0.0
|
||||
}
|
||||
, "execution": {
|
||||
"top_only": true
|
||||
,"min_order_age_sec": 0.1
|
||||
, "pricing_method": "BY_MKT_TRD_PRICE_BY_ORDER"
|
||||
# , "presubscribe_md_types": ["BOOK_TOP", "TRADES"]
|
||||
}
|
||||
, "result": {
|
||||
"repository": "${ResultPath}/backtest_results.json"
|
||||
, "db_file": "${ResultPath}/%T.backtest.db"
|
||||
}
|
||||
}
|
||||
# --------------------------------------------------------------------
|
||||
, "trader": {
|
||||
"app_channel": "TRDR" active_exchanges_: str
|
||||
|
||||
, "is_short_allowed": false
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
}
|
||||
}
|
||||
, "algos": {
|
||||
"TRDALGO_001": {
|
||||
"class": "cvttpy.trading.algos.simple.SimpleTradingAlgo"
|
||||
, "params": {}
|
||||
}
|
||||
, "TRDALGO_MOOMOC_01": {
|
||||
"class": "cvttpy.trading.algos.moo_moc.MooMocTradingAlgo"
|
||||
, "params": {
|
||||
},
|
||||
}
|
||||
, "TRDALGO_TWAP01": {
|
||||
"class": "cvttpy.trading.algos.twap.BasicTwapAlgo"
|
||||
, "params": {
|
||||
"num_slices": 5
|
||||
, "duration_sec": 1500 # 25 min
|
||||
, "max_order_usd": 100
|
||||
, "passive_stage_t1": 0.4 # join BBO, the rest is aggressive
|
||||
, "aggressive_stage_t2": 0.4
|
||||
, "aggressivity_scale": [0.5, 1.0] # 0.5 = mid, 1.0= BBO-1 tick
|
||||
, "marketable_stage_added_ticks": 0
|
||||
},
|
||||
}
|
||||
, "TRDALGO_ICEBERG01": {
|
||||
"class": "cvttpy.trading.algos.twap.BasicTwapAlgo"
|
||||
, "params": {
|
||||
"num_slices": 5
|
||||
, "duration_sec": 1500 # 25 min
|
||||
, "max_order_usd": 100
|
||||
, "passive_stage_t1": 0
|
||||
, "aggressive_stage_t2": 0
|
||||
, "aggressivity_scale": [0.5, 1.0] # 0.5 = mid, 1.0= BBO-1 tick
|
||||
, "marketable_stage_added_ticks": 0
|
||||
},
|
||||
}
|
||||
}
|
||||
, "trading_pos_diff_pct_trigger": 10.0
|
||||
, "trading_depth": {
|
||||
"BTC": 0.001
|
||||
# "BTC": 0.1
|
||||
}
|
||||
}
|
||||
# --------------------------------------------------------------------
|
||||
"executor": {
|
||||
"app_channel": "EXEC"
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"order_entry": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "COINBASE_ADV_RO"
|
||||
, "trade": "COINBASE_ADV_TRD"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# --------------------------------------------------------------------
|
||||
, "quant": {
|
||||
"app_channel": "QUANT"
|
||||
, "strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/strategies
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
# --------------------------------------------------------------------
|
||||
, "risk_manager": {
|
||||
"app_channel": "RMGR"
|
||||
, "books": {
|
||||
"CVTT_BK01": {}
|
||||
}
|
||||
, "db": {
|
||||
"positions_table": "prod.cvtt_positions"
|
||||
, "cred_key": {
|
||||
"write": "TSDB_TRD_CVTTDATA"
|
||||
, "read_only": "TSDB_TRD_CVTTDATA"
|
||||
}
|
||||
}
|
||||
, "positions": {
|
||||
"load_interval_sec": 10.0
|
||||
, "to_store_zero_positions": false
|
||||
, "to_save_unchanged_positions": false
|
||||
}
|
||||
, "publish_value_interval": 10.0
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"trade": "COINBASE_ADV"
|
||||
, "read_only": "COINBASE_ADV_RO"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "trading_recorder": {
|
||||
# "format": "CSV"
|
||||
# "format": "TSDB"
|
||||
"format": "SQLite"
|
||||
, "csv_settings": {
|
||||
"order_events_file_path": "%T.order_events.csv"
|
||||
"position_events_file_path": "%T.position_events.csv"
|
||||
}
|
||||
, "tsdb_settings": {
|
||||
"db": {
|
||||
"class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient"
|
||||
, "cred_key": "TSDB_TRD_CVTTDATA_DB_TEST"
|
||||
}
|
||||
, "order_events_table": "backtest.trading_orders"
|
||||
, "trade_events_table": "backtest.trading_trades"
|
||||
, "trading_md_summary_table": "backtest.trading_md"
|
||||
}
|
||||
, "sqlite_settings": {
|
||||
# "file_name": "/tmp/%T.cvtt_backtest.db"
|
||||
"file_name": "/tmp/cvtt_backtest.db"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,214 +0,0 @@
|
||||
@var ResultPath=/tmp
|
||||
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
, "comm_settings": "/comm/pubsub/redis/cloud17"
|
||||
# , "cvttcomm": {
|
||||
# "type": "redis"
|
||||
# }
|
||||
, "session_type": "PERMANENT"
|
||||
, "books": {
|
||||
"CVTT_BK01": {}
|
||||
}
|
||||
###### N E W S E C T I O N (example)
|
||||
, "simulation": {
|
||||
"speed_factor": 0.0,
|
||||
"time_events_interval_ms": 100
|
||||
}
|
||||
, "market_simulator" : {
|
||||
"market_data": {
|
||||
"sources": [
|
||||
{
|
||||
"loader_class": "cvttpy.research.time_series.loaders.tsdb_loader.TimescaleTSLoader"
|
||||
, "credentials_key": "TSDB_MD_CVTTDATA_RO"
|
||||
# , "interval": "4 hours"
|
||||
, "interval": "2 hours"
|
||||
, "from_time": "2024-04-15 09:00:00"
|
||||
}
|
||||
# , {
|
||||
# "loader_class": "cvttpy.research.time_series.loaders.sqlite_loader.SqliteMdLoader",
|
||||
# "file_name": "${SourcePath}/20240424.ALPACA.QAT.db"
|
||||
# }
|
||||
]
|
||||
}
|
||||
, "accounting": {
|
||||
"initial_positions": {
|
||||
"COINBASE": {
|
||||
"BTC": 0
|
||||
, "USD": 1000.0
|
||||
}
|
||||
}
|
||||
}
|
||||
, "order_entry": {
|
||||
"execution": {
|
||||
"top_only": true
|
||||
,"min_order_age_sec": 0.1
|
||||
, "pricing_method": "BY_MKT_TRD_PRICE_BY_ORDER"
|
||||
# , "presubscribe_md_types": ["BOOK_TOP", "TRADES"]
|
||||
}
|
||||
}
|
||||
}
|
||||
###### N E W S E C T I O N - end
|
||||
, "backtest": {
|
||||
"exchanges_settings": {
|
||||
"*": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
}
|
||||
,"order_entry": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
}
|
||||
,"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
}
|
||||
}
|
||||
, "source": {
|
||||
"loader_class": "cvttpy.research.time_series.loaders.tsdb_loader.TimescaleTSLoader"
|
||||
, "credentials_key": "TSDB_MD_CVTTDATA_RO"
|
||||
# , "interval": "4 hours"
|
||||
, "interval": "2 hours"
|
||||
, "from_time": "2024-04-15 09:00:00"
|
||||
}
|
||||
, "initial_positions": {
|
||||
"COINBASE": {
|
||||
"BTC": 0
|
||||
, "USD": 1000.0
|
||||
}
|
||||
}
|
||||
, "simulation": {
|
||||
"speed_factor": 0.0
|
||||
}
|
||||
, "execution": {
|
||||
"top_only": true
|
||||
,"min_order_age_sec": 0.1
|
||||
, "pricing_method": "BY_MKT_TRD_PRICE_BY_ORDER"
|
||||
# , "presubscribe_md_types": ["BOOK_TOP", "TRADES"]
|
||||
}
|
||||
, "result": {
|
||||
"repository": "${ResultPath}/backtest_results.json"
|
||||
, "db_file": "${ResultPath}/%T.backtest.db"
|
||||
}
|
||||
}
|
||||
# --------------------------------------------------------------------
|
||||
, "trader": {
|
||||
"app_channel": "TRDR" active_exchanges_: str
|
||||
|
||||
, "is_short_allowed": false
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
}
|
||||
}
|
||||
, "algos": @inc=http://@env{CONFIG_SERVICE}/apps/common/algos
|
||||
, "trading_pos_diff_pct_trigger": 10.0
|
||||
, "trading_depth": {
|
||||
"BTC": 0.001
|
||||
# "BTC": 0.1
|
||||
}
|
||||
}
|
||||
# --------------------------------------------------------------------
|
||||
"executor": {
|
||||
"app_channel": "EXEC"
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"order_entry": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "COINBASE_ADV_RO"
|
||||
, "trade": "COINBASE_ADV_TRD"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# --------------------------------------------------------------------
|
||||
, "quant": {
|
||||
"app_channel": "QUANT"
|
||||
|
||||
, "strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/strategies
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
# --------------------------------------------------------------------
|
||||
, "risk_manager": {
|
||||
"app_channel": "RMGR"
|
||||
, "books": {
|
||||
"CVTT_BK01": {}
|
||||
}
|
||||
, "db": {
|
||||
"positions_table": "prod.cvtt_positions"
|
||||
, "cred_key": {
|
||||
"write": "TSDB_TRD_CVTTDATA"
|
||||
, "read_only": "TSDB_TRD_CVTTDATA"
|
||||
}
|
||||
}
|
||||
, "positions": {
|
||||
"load_interval_sec": 10.0
|
||||
, "to_store_zero_positions": false
|
||||
, "to_save_unchanged_positions": false
|
||||
}
|
||||
, "publish_value_interval": 10.0
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"trade": "COINBASE_ADV"
|
||||
, "read_only": "COINBASE_ADV_RO"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "trading_recorder": {
|
||||
# "format": "CSV"
|
||||
# "format": "TSDB"
|
||||
"format": "SQLite"
|
||||
, "csv_settings": {
|
||||
"order_events_file_path": "%T.order_events.csv"
|
||||
"position_events_file_path": "%T.position_events.csv"
|
||||
}
|
||||
, "tsdb_settings": {
|
||||
"db": {
|
||||
"class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient"
|
||||
, "cred_key": "TSDB_TRD_CVTTDATA_DB_TEST"
|
||||
}
|
||||
, "order_events_table": "backtest.trading_orders"
|
||||
, "trade_events_table": "backtest.trading_trades"
|
||||
, "trading_md_summary_table": "backtest.trading_md"
|
||||
}
|
||||
, "sqlite_settings": {
|
||||
# "file_name": "/tmp/%T.cvtt_backtest.db"
|
||||
"file_name": "/tmp/cvtt_backtest.db"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
{
|
||||
"type": "redis",
|
||||
"comm_settings": "/comm/pubsub/redis/localhost"
|
||||
, "app_channels": {
|
||||
"executor": "EXEC"
|
||||
, "risk_manager": "RMGR"
|
||||
, "trader": "TRDR"
|
||||
, "quant": "QUANT"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
@var DatabaseHost=cryptoval1.cvtt.vpn
|
||||
# @var DatabaseHost=cryptoval1.sheynin.home
|
||||
{
|
||||
"__DUMMY__": {}
|
||||
# ----------------------------- A
|
||||
, "ALPACA_PROD01": {
|
||||
"exchange": "ALPACA_PROD",
|
||||
"credentials_key": "ALPACA_PROD"
|
||||
}
|
||||
, "ALPACA_SIM": {
|
||||
"exchange": "ALPACA_SIM",
|
||||
"credentials_key": "ALPACA_PROD"
|
||||
}
|
||||
, "ALPACA_SNDBX01": {
|
||||
"exchange": "ALPACA_SNDBX",
|
||||
"credentials_key": "ALPACA_SANDBOX"
|
||||
}
|
||||
# ---------------------------- B
|
||||
, "BITSTAMP_ACCT": {
|
||||
"exchange": "BITSTAMP",
|
||||
}
|
||||
, "BNBSPOT_ACCT": {
|
||||
"exchange": "BNBSPOT"
|
||||
}
|
||||
, "BNBFUT01": {
|
||||
"exchange": "BNBFUT"
|
||||
}
|
||||
, "BNBFUT02": {
|
||||
"exchange": "BNBFUT-2"
|
||||
}
|
||||
|
||||
, "BNBSPOT_US01": {
|
||||
"exchange": "BNBSPOT_US"
|
||||
}
|
||||
, "COINBASE_PROD01": {
|
||||
"exchange": "COINBASE_AT"
|
||||
}
|
||||
, "COINBASE_SIM": {
|
||||
"exchange_id": "COINBASE_SIM"
|
||||
}
|
||||
# ---------------------------- G
|
||||
, "GEMINI01": {
|
||||
"exchange": "GEMINI"
|
||||
}
|
||||
, "GEMINI-SNDBX01": {
|
||||
"exchange": "GEMINI-SNDBX"
|
||||
}
|
||||
# ---------------------------- K
|
||||
, "KRAKEN01": {
|
||||
"exchange": "KRAKEN"
|
||||
}
|
||||
# ---------------------------- O
|
||||
, "OKX01": {
|
||||
"exchange": "OKX"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"order_entry": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "COINBASE_ADV_RO"
|
||||
, "trade": "COINBASE_ADV_TRD"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
{
|
||||
# ----------------------------------
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
{
|
||||
"check_interval_sec": 10.0
|
||||
, "status_report_interval_sec": 3600.0
|
||||
, "after_alert_interval_sec": 180.0 #
|
||||
, "db": {
|
||||
"CLD21": {
|
||||
"class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient"
|
||||
, "cred_key": "TSDB_MD_CLD21_RO"
|
||||
}
|
||||
}
|
||||
, "mmost": {
|
||||
"cred_key": "MATTERMOST"
|
||||
, "alert_channel": "Alerts-CVTT"
|
||||
, "status_channel": "Status-CVTT"
|
||||
}
|
||||
, "data_checks": {
|
||||
"BNBFUT-1": {
|
||||
"tables": ["bnbfut.md_booktops"]
|
||||
, "exchange_id": "BNBFUT"
|
||||
, "instruments": ["PERP-BTC-USDT"]
|
||||
, "threshold_sec": 30.0
|
||||
}
|
||||
, "BNBFUT-2": {
|
||||
"tables": ["bnbfut.md_trades"]
|
||||
, "exchange_id": "BNBFUT"
|
||||
, "instruments": ["PERP-BTC-USDT"]
|
||||
, "threshold_sec": 30.0
|
||||
}
|
||||
, "BNBSPOT-1": {
|
||||
"tables": ["bnbspot.md_booktops"]
|
||||
, "exchange_id": "BNBSPOT"
|
||||
, "instruments": ["PAIR-BTC-USDT"]
|
||||
, "threshold_sec": 30.0
|
||||
}
|
||||
, "BNBSPOT-2": {
|
||||
"tables": ["bnbspot.md_trades"]
|
||||
, "exchange_id": "BNBSPOT"
|
||||
, "instruments": ["PAIR-BTC-USDT"]
|
||||
, "threshold_sec": 30.0
|
||||
}
|
||||
, "COINBASE-1": {
|
||||
"tables": ["coinbase.md_booktops"]
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instruments": ["PAIR-BTC-USD"]
|
||||
, "threshold_sec": 30.0
|
||||
}
|
||||
, "COINBASE-2": {
|
||||
"tables": ["coinbase.md_trades"]
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instruments": ["PAIR-BTC-USD"]
|
||||
, "threshold_sec": 30.0
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,102 +0,0 @@
|
||||
@var WINDOW_SIZE_SEC=2592000 # 30 days
|
||||
{
|
||||
"md_recorder": {
|
||||
"db": {
|
||||
"class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient"
|
||||
, "connect": {
|
||||
"host": "cryptoval1.cvtt.vpn"
|
||||
, "port": 5432
|
||||
, "database": "coinbase"
|
||||
}
|
||||
}
|
||||
, "trades_tbl": "md_trades" # D_E_P_R_E_C_A_T_E_D
|
||||
, "booktop_tbl": "md_booktops" # D_E_P_R_E_C_A_T_E_D
|
||||
, "booksnap_tbl": "md_booksnaps" # D_E_P_R_E_C_A_T_E_D
|
||||
, "flush_interval_sec": 0.5
|
||||
, "prune_interval_sec": 3600
|
||||
|
||||
, "collections": {
|
||||
"__dummy__": null
|
||||
, "COINBASE": {
|
||||
"instruments": {
|
||||
"PAIR-BTC-USD": {
|
||||
"TRADES": ${WINDOW_SIZE_SEC},
|
||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
||||
# "BOOK_DEPTH": 3600
|
||||
}
|
||||
, "PAIR-ETH-USD": {
|
||||
"TRADES": ${WINDOW_SIZE_SEC},
|
||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
||||
# "BOOK_DEPTH": null
|
||||
}
|
||||
, "PAIR-LTC-USD": {
|
||||
"TRADES": ${WINDOW_SIZE_SEC},
|
||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
||||
}
|
||||
, "PAIR-XRP-USD": {
|
||||
"TRADES": ${WINDOW_SIZE_SEC},
|
||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
||||
}
|
||||
}
|
||||
}
|
||||
, "BNBSPOT": {
|
||||
"instruments": {
|
||||
"PAIR-BTC-USDT": {
|
||||
"TRADES": ${WINDOW_SIZE_SEC},
|
||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
||||
}
|
||||
, "PAIR-ETH-USDT": {
|
||||
"TRADES": ${WINDOW_SIZE_SEC},
|
||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
||||
}
|
||||
, "PAIR-LTC-USDT": {
|
||||
"TRADES": ${WINDOW_SIZE_SEC},
|
||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
||||
}
|
||||
, "PAIR-XRP-USDT": {
|
||||
"TRADES": ${WINDOW_SIZE_SEC},
|
||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
||||
}
|
||||
, "PAIR-USDT-USD": {
|
||||
"TRADES": ${WINDOW_SIZE_SEC},
|
||||
"BOOK_TOP": ${WINDOW_SIZE_SEC},
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# ----------------------------------
|
||||
, "refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": true
|
||||
},
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
}
|
||||
"BNBSPOT": {
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
{
|
||||
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
, "quant": {
|
||||
"books": {
|
||||
"CVTT_BK01": {}
|
||||
}
|
||||
, "strategies": {
|
||||
"CVTT_QST001": {
|
||||
"class": "cvttpy.trading.strategies.test_strat.TestStrategy"
|
||||
, "params": {
|
||||
"dummy": "dummy"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"trade": "COINBASE_ADV"
|
||||
"read_only": "COINBASE_ADV_RO"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
, "risk_manager": {
|
||||
"book": "CVTT_BK01"
|
||||
, "database": {
|
||||
"positions_table": "cvtt_positions"
|
||||
, "credentials_key": {
|
||||
"write": "CVTT_DB_01"
|
||||
, "read_only": "CVTT_DB_01"
|
||||
}
|
||||
}
|
||||
, "positions": {
|
||||
"load_interval_sec": 10.0
|
||||
, "to_store_zero_positions": false
|
||||
, "to_save_unchanged_positions": false
|
||||
}
|
||||
, "publish_value_interval": 10.0
|
||||
}
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"trade": "COINBASE_ADV"
|
||||
"read_only": "COINBASE_ADV_RO"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
}
|
||||
}
|
||||
, "trader": {
|
||||
"books": {
|
||||
"CVTT_BK01": {}
|
||||
}
|
||||
, "algos": {
|
||||
"TRDALGO_001": {
|
||||
"class": "cvttpy.trading.algos.simple.SimpleTradingAlgo"
|
||||
, "params": {}
|
||||
}
|
||||
}
|
||||
, "trading_pos_diff_pct_trigger": 10.0
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,89 +0,0 @@
|
||||
@var ResultPath=/tmp
|
||||
@var SourcePath=/home/oleg/develop/cvtt2/tmp
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
, "algos": @inc=http://@env{CONFIG_SERVICE}/apps/common/algos
|
||||
|
||||
, "session_type": "CALENDAR"
|
||||
, "calendar_session": {
|
||||
"trading_hours_url": [
|
||||
"GET"
|
||||
, "https://trading-calendar.cvtt.net/api/v1/markets/hours?mic=XNYS&start={start}&end={end}"
|
||||
]
|
||||
}
|
||||
###### N E W S E C T I O N (example)
|
||||
, "simulation": {
|
||||
"speed_factor": 0.0,
|
||||
"time_events_interval_ms": 100
|
||||
}
|
||||
, "market_simulator" : {
|
||||
"market_data": {
|
||||
"sources": [
|
||||
{
|
||||
"loader_class": "cvttpy.research.time_series.loaders.tsdb_loader.TimescaleTSLoader"
|
||||
, "credentials_key": "TSDB_MD_CVTTDATA_RO"
|
||||
# , "interval": "4 hours"
|
||||
, "interval": "2 hours"
|
||||
, "from_time": "2024-04-15 09:00:00"
|
||||
}
|
||||
# , {
|
||||
# "loader_class": "cvttpy.research.time_series.loaders.sqlite_loader.SqliteMdLoader",
|
||||
# "file_name": "${SourcePath}/20240424.ALPACA.QAT.db"
|
||||
# }
|
||||
]
|
||||
}
|
||||
, "accounting": {
|
||||
"initial_positions": {
|
||||
"COINBASE": {
|
||||
"BTC": 0
|
||||
, "USD": 1000.0
|
||||
}
|
||||
}
|
||||
}
|
||||
, "order_entry": {
|
||||
"execution": {
|
||||
"top_only": true
|
||||
,"min_order_age_sec": 0.1
|
||||
, "pricing_method": "BY_MKT_TRD_PRICE_BY_ORDER"
|
||||
# , "presubscribe_md_types": ["BOOK_TOP", "TRADES"]
|
||||
}
|
||||
}
|
||||
}
|
||||
###### N E W S E C T I O N - end
|
||||
, "backtest": {
|
||||
"source": {
|
||||
"loader_class": "cvttpy.research.time_series.loaders.sqlite_loader.SqliteMdLoader"
|
||||
, "file_name": "${SourcePath}/20240424.ALPACA.QAT.db"
|
||||
# , "from_time": "09:29"
|
||||
}
|
||||
, "result": {
|
||||
# "repository": "${ResultPath}/backtest_results.json"
|
||||
"db_file": "${ResultPath}/%D.backtest.db"
|
||||
}
|
||||
, "simulation": {
|
||||
"speed_factor": 0.0
|
||||
}
|
||||
, "execution": {
|
||||
"top_only": true
|
||||
,"min_order_age_sec": 0.1
|
||||
, "pricing_method": "BY_MKT_TRD_PRICE_BY_ORDER"
|
||||
}
|
||||
}
|
||||
, "exchanges_settings": {
|
||||
"*": {
|
||||
"order_entry": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
+43
-49
@@ -1,51 +1,45 @@
|
||||
{
|
||||
"DIRECT_ORDER_ALGO": {
|
||||
"class": "cvttpy_trading.trading.algos.common.trading_algo.DirOrdTradingAlgo"
|
||||
, "params": {}
|
||||
}
|
||||
, "TRDALGO_SIMPLE_BO": {
|
||||
"class": "cvttpy_trading.trading.algos.bid_and_offer.SimpleBidAndOfferTradingAlgo"
|
||||
, "params": {}
|
||||
}
|
||||
, "TRDALGO_MOOMOC_01": {
|
||||
"class": "cvttpy_trading.trading.algos.moo_moc.MooMocTradingAlgo"
|
||||
, "params": {}
|
||||
}
|
||||
, "TRDALGO_TWAP01": {
|
||||
"class": "cvttpy_trading.trading.algos.twap.TwapAlgo"
|
||||
, "params": {
|
||||
"num_slices": 5
|
||||
, "duration_sec": 1500 # 25 min
|
||||
, "max_order_usd": 100
|
||||
, "passive_stage_t1": 0.4 # join BBO, the rest is aggressive
|
||||
, "aggressive_stage_t2": 0.4
|
||||
, "aggressivity_scale": [0.5, 1.0] # 0.5 = mid, 1.0= BBO-1 tick
|
||||
, "marketable_stage_added_ticks": 0
|
||||
},
|
||||
}
|
||||
, "TRDALGO_ICEBERG01_COINBS": {
|
||||
"class": "cvttpy_trading.trading.algos.twap.TwapAlgo"
|
||||
, "params": {
|
||||
"num_slices": 5
|
||||
, "duration_sec": 1500 # 25 min #overloaded by --duration
|
||||
, "max_order_usd": 100.
|
||||
, "passive_stage_t1": 0
|
||||
, "aggressive_stage_t2": 0
|
||||
# , "aggressivity_scale": [0.5, 1.0] # 0.5 = mid, 1.0= BBO-1 tick
|
||||
, "marketable_stage_added_ticks": 0
|
||||
, "advance_on_slice_full_fill": true # default true
|
||||
},
|
||||
}
|
||||
, "TRDALGO_ICEBERG01_ALPACA": {
|
||||
"class": "cvttpy_trading.trading.algos.twap.TwapAlgo"
|
||||
, "params": {
|
||||
"num_slices": 5
|
||||
, "duration_sec": 1500 # 25 min
|
||||
, "max_order_usd": 1000.
|
||||
, "passive_stage_t1": 0
|
||||
, "aggressive_stage_t2": 0
|
||||
# , "aggressivity_scale": [0.5, 1.0] # 0.5 = mid, 1.0= BBO-1 tick
|
||||
, "marketable_stage_added_ticks": 0
|
||||
},
|
||||
}
|
||||
"DISABLED": {
|
||||
"name": "Disabled Trading Algo",
|
||||
"class": "cvttpy_trading.trading.algos.disabled.DisabledTradingAlgo",
|
||||
"params": {}
|
||||
},
|
||||
"PASS_THROUGH": {
|
||||
"name": "PassThrough Trading Algo",
|
||||
"class": "cvttpy_trading.trading.algos.passthrough.PassThroughTradingAlgo",
|
||||
"params": {
|
||||
"support_send_order": true,
|
||||
"support_cancel_order": true,
|
||||
}
|
||||
},
|
||||
"LIQUIDATE": {
|
||||
"name": "Liquidation Trading Algo",
|
||||
"class": "cvttpy_trading.trading.algos.liquidate.LiquidateTradingAlgo",
|
||||
"params": {
|
||||
"order_pricer": {
|
||||
"class": "BookTopJoinPricer",
|
||||
"shift_bps": 10
|
||||
},
|
||||
"instruments": [
|
||||
["COINBASE", "PAIR-BTC-USD"],
|
||||
["COINBASE", "PAIR-ETH-USD"]
|
||||
]
|
||||
}
|
||||
},
|
||||
"TARGET_POSITIONS": {
|
||||
"name": "Target Positions Trading Algo"
|
||||
"class": "cvttpy_trading.trading.algos.tgt_pos.TgtPosTradingAlgo",
|
||||
"params": {
|
||||
"order_pricer": {
|
||||
"class": "BookTopMidPricer",
|
||||
"shift_bps": 0
|
||||
},
|
||||
"pos_diff_pct_trigger": 10.0,
|
||||
"mkt_data_threshold_sec": 1.0,
|
||||
"instruments": [
|
||||
["COINBASE", "PAIR-BTC-USD"],
|
||||
["COINBASE", "PAIR-ETH-USD"]
|
||||
]
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
+62
-31
@@ -7,6 +7,7 @@
|
||||
, "read_timeout" : 0.01
|
||||
, "ping_timeout_secs": 2.0
|
||||
, "verbose": false
|
||||
, "unsubscribe_timeout_sec": 0.5
|
||||
}
|
||||
, "REDIS_LCLHOST": {
|
||||
"type": "redis"
|
||||
@@ -14,6 +15,7 @@
|
||||
, "read_timeout" : 0.01
|
||||
, "ping_timeout_secs": 2.0
|
||||
, "verbose": false
|
||||
, "unsubscribe_timeout_sec": 0.5
|
||||
}
|
||||
, "REDIS_LCLHOST_2_DCKR_COMPOSE": {
|
||||
"type": "redis"
|
||||
@@ -22,42 +24,71 @@
|
||||
, "ping_timeout_secs": 2.0
|
||||
, "verbose": false
|
||||
}
|
||||
, "REDIS_tester-01_2_DCKR_COMPOSE": { # to use docker compose service from outside
|
||||
, "REDIS_tester-01_2_DCKR_COMPOSE": {
|
||||
"type": "redis"
|
||||
, "url": "redis://cvtt-tester-01.cvtt.vpn:16379"
|
||||
, "read_timeout" : 0.01
|
||||
, "ping_timeout_secs": 2.0
|
||||
, "verbose": false
|
||||
}
|
||||
# , "redis": {
|
||||
# "docker_microservices": { # docker compose used
|
||||
# "url": "redis://redis:6379"
|
||||
# , "type": "redis"
|
||||
# , "read_timeout" : 0.01
|
||||
# , "ping_timeout_secs": 2.0
|
||||
# , "verbose": false
|
||||
# }
|
||||
# , "localhost": {
|
||||
# "url": "redis://localhost"
|
||||
# , "type": "redis"
|
||||
# , "read_timeout" : 0.01
|
||||
# , "ping_timeout_secs": 2.0
|
||||
# , "verbose": false
|
||||
# }
|
||||
# , "localhost-2-docker": {
|
||||
# "url": "redis://localhost:16379"
|
||||
# , "type": "redis"
|
||||
# , "read_timeout" : 0.01
|
||||
# , "ping_timeout_secs": 2.0
|
||||
# , "verbose": false
|
||||
# }
|
||||
# , "tester-01": { # to use docker compose service from outside
|
||||
# "url": "redis://cvtt-tester-01.cvtt.vpn:16379"
|
||||
# , "type": "redis"
|
||||
# , "read_timeout" : 0.01
|
||||
# , "ping_timeout_secs": 2.0
|
||||
# , "verbose": false
|
||||
# }
|
||||
# }
|
||||
, "REDIS_CLD32_TESTER": { # to use docker compose service from outside
|
||||
"type": "redis"
|
||||
, "url": "redis://cld32-tester.cvtt.vpn:16379"
|
||||
, "read_timeout" : 0.01
|
||||
, "ping_timeout_secs": 2.0
|
||||
, "verbose": false
|
||||
}
|
||||
, "REDIS_CLD32_TESTER_OHLCV": { # to use docker compose service from outside
|
||||
"type": "redis"
|
||||
, "url": "redis://cld32-tester.cvtt.vpn:26379"
|
||||
}
|
||||
}
|
||||
, "cache": {
|
||||
"REDIS_DCKR_COMPOSE": {
|
||||
"type": "redis"
|
||||
, "url": "redis://redis:6379"
|
||||
}
|
||||
, "REDIS_LCLHOST": {
|
||||
"type": "redis"
|
||||
, "url": "redis://localhost:6379"
|
||||
}
|
||||
, "REDIS_LCLHOST_2_DCKR_COMPOSE": {
|
||||
"type": "redis"
|
||||
, "url": "redis://localhost:16379"
|
||||
}
|
||||
, "REDIS_tester-01_2_DCKR_COMPOSE": { # to use docker compose service from outside
|
||||
"type": "redis"
|
||||
, "url": "redis://cvtt-tester-01.cvtt.vpn:16379"
|
||||
}
|
||||
, "REDIS_CLD32_TESTER": { # to use docker compose service from outside
|
||||
"type": "redis"
|
||||
, "url": "redis://cld32-tester.cvtt.vpn:16379"
|
||||
}
|
||||
, "REDIS_CLD32_TESTER_OHLCV": { # to use docker compose service from outside
|
||||
"type": "redis"
|
||||
, "url": "redis://cld32-tester.cvtt.vpn:26379"
|
||||
}
|
||||
}
|
||||
, "md_cache": {
|
||||
"REDIS_DCKR_COMPOSE": {
|
||||
"type": "redis"
|
||||
, "url": "redis://redis:6379/2"
|
||||
}
|
||||
, "REDIS_LCLHOST": {
|
||||
"type": "redis"
|
||||
, "url": "redis://localhost:6379/2"
|
||||
}
|
||||
, "REDIS_LCLHOST_2_DCKR_COMPOSE": {
|
||||
"type": "redis"
|
||||
, "url": "redis://localhost:16379/2"
|
||||
}
|
||||
, "REDIS_tester-01_2_DCKR_COMPOSE": { # to use docker compose service from outside
|
||||
"type": "redis"
|
||||
, "url": "redis://cvtt-tester-01.cvtt.vpn:16379/2"
|
||||
}
|
||||
, "REDIS_CLD32_TESTER": { # to use docker compose service from outside
|
||||
"type": "redis"
|
||||
, "url": "redis://cld32-tester.cvtt.vpn:16379/2"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,12 @@
|
||||
{
|
||||
"DISABLED": {
|
||||
"name": "Disabled (Prohibitive) Risk Strategy",
|
||||
"class": "cvttpy_trading.trading.risk.base_risk.ProhibitiveRiskStrategy",
|
||||
"params": {}
|
||||
},
|
||||
"PERMISSIVE_RISK_STRATEGY": {
|
||||
"class": "cvttpy.trading.risk.permissive.PermissiveRiskStrategy"
|
||||
, "params": {
|
||||
"dummy": "dummy"
|
||||
}
|
||||
"name": "Permissive Risk Strategy",
|
||||
"class": "cvttpy_trading.trading.risk.base_risk.PermissiveRiskStrategy",
|
||||
"params": {}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,31 +0,0 @@
|
||||
{
|
||||
|
||||
"hist_md_loaders": @inc=http://@env{CONFIG_SERVICE}/apps/common/hist_md_loaders
|
||||
|
||||
, "CVTT_QST001": {
|
||||
"class": "cvttpy.trading.strategies.test_strat.SeesawTestStrategy"
|
||||
, "default_params": {}
|
||||
}
|
||||
, "VWAP001": {
|
||||
"class": "cvttpy.trading.strategies.vwap_strat.VWAP001"
|
||||
, "default_params": {
|
||||
"vwap_interval": "1 hour" , "hist_md_source": {
|
||||
"loader": "TimescaleMktDataLoader"
|
||||
, "interval": "2 hours"
|
||||
#, "from_time" is calculated
|
||||
}
|
||||
}
|
||||
}
|
||||
# , "DAILY_STOCK_001": {
|
||||
# "class": "cvttpy.trading.strategies.daily_stocks_strat.DailyStocksStrategy"
|
||||
# , "params": {
|
||||
# "liquidate_at": "15:45" # EDT Time
|
||||
# }
|
||||
# }
|
||||
# , "MAN-TPOS-BY-REDIS": {
|
||||
# "class": "cvttpy.trading.strategies.manual_strat.TgtPosByRedisStrategy"
|
||||
# , "params": {
|
||||
# "redis_subject": "MAN_TGT_POS"
|
||||
# }
|
||||
# }
|
||||
}
|
||||
@@ -1,116 +0,0 @@
|
||||
@var COORDINATOR_PORT=23456
|
||||
@var PASS_THROUGH_STRAT_PORT=12345
|
||||
|
||||
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
, "algos": @inc=http://@env{CONFIG_SERVICE}/apps/common/algos
|
||||
, "strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/strategies
|
||||
|
||||
, "comm_settings": "comm/pubsub/redis/localhost"
|
||||
|
||||
, "coordinator": {
|
||||
"api": {
|
||||
"REST": {
|
||||
"port": ${COORDINATOR_PORT},
|
||||
"base_url": ["POST", "http://localhost:${COORDINATOR_PORT}"]
|
||||
}
|
||||
}
|
||||
}
|
||||
, "market_data_gateway": {
|
||||
"exchanges_settings": {
|
||||
"*": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
},
|
||||
}
|
||||
, "channel_prefix": "MD_GW"
|
||||
, "app_status_channel": "MD_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"BNBFUT"
|
||||
, "COINBASE_AT"
|
||||
]
|
||||
}
|
||||
, "order_entry_gateway": {
|
||||
"exchanges_settings": {
|
||||
"ALPACA_SNDBX": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "ALPACA_SANDBOX"
|
||||
, "trade": "ALPACA_SANDBOX"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "channel_prefix": "OE_GW"
|
||||
, "app_status_channel": "OE_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"ALPACA_SNDBX"
|
||||
]
|
||||
}
|
||||
, "accounting_gateway": {
|
||||
"exchanges_settings": {
|
||||
"ALPACA_SNDBX": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "ALPACA_SANDBOX"
|
||||
, "trade": "ALPACA_SANDBOX"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "channel_prefix": "ACCT_GW"
|
||||
, "app_status_channel": "ACCT_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"ALPACA_SNDBX"
|
||||
]
|
||||
}
|
||||
, "quant": {
|
||||
"channel_prefix": "QUANT"
|
||||
, "app_status_channel": "QUANT_MS_STATUS"
|
||||
, "passthrough_strategy": {
|
||||
"REST": {
|
||||
"port": ${PASS_THROUGH_STRAT_PORT}
|
||||
"base_url": ["POST", "http://localhost:${PASS_THROUGH_STRAT_PORT}"]
|
||||
}
|
||||
, "WS": {
|
||||
"url": "ws://localhost:12346/ws"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "trader": {
|
||||
"channel_prefix": "TRADER"
|
||||
, "app_status_channel": "TRADER_MS_STATUS"
|
||||
}
|
||||
}
|
||||
@@ -1,191 +0,0 @@
|
||||
@var ResultPath=/tmp
|
||||
|
||||
{ "___dummy___": null
|
||||
, "refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
, "active_instruments": {
|
||||
"ALPACA_SNDBX": {
|
||||
"dynamic_stock_list": {
|
||||
"exchange_id": "ALPACA"
|
||||
, "list_source": "redis"
|
||||
, "comm_settings": "/comm/pubsub/redis/cvtt-prod-eqty-01"
|
||||
, "redis_key": "DAY_STOCK_LIST"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
, "comm_settings": "/comm/pubsub/redis/cvtt-prod-eqty-01"
|
||||
, "session_type": "CALENDAR"
|
||||
, "calendar_session": {
|
||||
"trading_hours_url": [
|
||||
"GET"
|
||||
, "https://trading-calendar.cvtt.net/api/v1/markets/hours?mic=XNYS&start={start}&end={end}"
|
||||
]
|
||||
}
|
||||
, "books": {
|
||||
"ALPACA_BK02": {}
|
||||
, "ALPACA_BK_ILYA_01": {}
|
||||
}
|
||||
# --------------------------------------------------------------------
|
||||
, "md_portal": {
|
||||
"app_channel": "MD_PORTAL"
|
||||
, "exchanges_settings": {
|
||||
"*": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
# --------------------------------------------------------------------
|
||||
, "trader": {
|
||||
"app_channel": "TRDR"
|
||||
|
||||
, "is_short_allowed": false
|
||||
, "exchanges_settings": {
|
||||
"*": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
}
|
||||
}
|
||||
, "algos": @inc=http://@env{CONFIG_SERVICE}/apps/common/algos
|
||||
, "trading_pos_diff_pct_trigger": 10.0
|
||||
, "trading_depth": {
|
||||
"USD": 1000.0,
|
||||
}
|
||||
}
|
||||
# --------------------------------------------------------------------
|
||||
, "executor": {
|
||||
"app_channel": "EXEC"
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"order_entry": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "COINBASE_ADV_RO"
|
||||
, "trade": "COINBASE_ADV_TRD"
|
||||
}
|
||||
}
|
||||
, "ALPACA_SNDBX": {
|
||||
"order_entry": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "ALPACA_SANDBOX"
|
||||
, "trade": "ALPACA_SANDBOX"
|
||||
}
|
||||
}
|
||||
, "ALPACA_SNDBX-MDPORTAL": {
|
||||
"order_entry": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "ALPACA_SANDBOX"
|
||||
, "trade": "ALPACA_SANDBOX"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# --------------------------------------------------------------------
|
||||
, "quant": {
|
||||
"app_channel": "QUANT"
|
||||
, "strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/strategies
|
||||
, "exchanges_settings": {
|
||||
"*": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# --------------------------------------------------------------------
|
||||
, "risk_manager": {
|
||||
"app_channel": "RMGR"
|
||||
# , "books": {
|
||||
# "CVTT_BK01": {}
|
||||
# }
|
||||
, "db": {
|
||||
"positions_table": "prod.cvtt_positions"
|
||||
, "cred_key": {
|
||||
"write": "TSDB_TRD_CVTTDATA"
|
||||
, "read_only": "TSDB_TRD_CVTTDATA"
|
||||
}
|
||||
}
|
||||
, "positions": {
|
||||
"load_interval_sec": 10.0
|
||||
, "to_store_zero_positions": false
|
||||
, "to_save_unchanged_positions": false
|
||||
}
|
||||
, "publish_value_interval": 10.0
|
||||
, "exchanges_settings": {
|
||||
"*": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"trade": "ALPACA_SANDBOX"
|
||||
, "read_only": "ALPACA_SANDBOX"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "trading_recorder": {
|
||||
"app_channel": "TRDREC"
|
||||
, "format": "SQLite" # formats: "CSV", "TSDB", "SQLite"
|
||||
, "csv_settings": {
|
||||
"order_events_file_path": "%T.order_events.csv"
|
||||
"position_events_file_path": "%T.position_events.csv"
|
||||
}
|
||||
, "tsdb_settings": {
|
||||
"db": {
|
||||
"class": "cvttpy.tools.db.timescale.tsdb_client.TimescaleDbClient"
|
||||
, "cred_key": "TSDB_TRD_CVTTDATA_DB_TEST"
|
||||
}
|
||||
, "order_events_table": "backtest.trading_orders"
|
||||
, "trade_events_table": "backtest.trading_trades"
|
||||
, "trading_md_summary_table": "backtest.trading_md"
|
||||
}
|
||||
, "sqlite_settings": {
|
||||
# "file_name": "/tmp/%T.cvtt_backtest.db"
|
||||
"file_name": "/logs/%T.cvtt_alpaca_sandbox.db"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,169 +0,0 @@
|
||||
@var COORDINATOR_REST_PORT=23456
|
||||
@var PRICER_REST_PORT=23457
|
||||
@var PRICER_WS_PORT=12346
|
||||
|
||||
@var GLOBAL_CHANNEL_PREFIX=CVTT_MU
|
||||
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
, "algos": @inc=http://@env{CONFIG_SERVICE}/apps/common/algos
|
||||
, "strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/strategies
|
||||
, "risk_strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/risk_strategies
|
||||
|
||||
, "comm_settings": @env{CONFIG_COMM_SETTINGS}
|
||||
, "global_channel_prefix": ${GLOBAL_CHANNEL_PREFIX}
|
||||
|
||||
, "accounting_gateway": {
|
||||
"exchanges_settings": {
|
||||
"ALPACA_SNDBX": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "ALPACA_SANDBOX"
|
||||
, "trade": "ALPACA_SANDBOX"
|
||||
}
|
||||
},
|
||||
"COINBASE_AT": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "COINBASE_ADV_RO"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.ACCT_GW"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.ACCT_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"ALPACA_SNDBX", "COINBASE_AT"
|
||||
]
|
||||
}
|
||||
, "bookkeeper": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.BKPR"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.BKPR_MUSVC_STATUS"
|
||||
, "db": {
|
||||
"server_type": "timescale",
|
||||
"cred_key": "TSDB_CVTT_TESTER_01_DIRECT"
|
||||
# "cred_key": "TSDB_CVTT_TRADINNG_PROD-01-RW"
|
||||
}
|
||||
}
|
||||
, "coordinator": {
|
||||
"api": {
|
||||
"REST": {
|
||||
"port": @env{COORDINATOR_REST_PORT},
|
||||
"base_url": ["POST", "http://localhost:@env{COORDINATOR_REST_PORT}"]
|
||||
}
|
||||
}
|
||||
}
|
||||
, "market_data_gateway": {
|
||||
"exchanges_settings": {
|
||||
"*": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
},
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.MD_GW"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.MD_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"COINBASE_AT"
|
||||
, "COINBASE_FUT"
|
||||
# , "BNBSPOT"
|
||||
# , "BNBFUT"
|
||||
# , "KRAKEN"
|
||||
# , "BITSTAMP"
|
||||
# , "OKX"
|
||||
# , "GEMINI"
|
||||
# , "ALPACA_SNDBX"
|
||||
]
|
||||
}
|
||||
, "order_entry_gateway": {
|
||||
"exchanges_settings": {
|
||||
"ALPACA_SNDBX": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "ALPACA_SANDBOX"
|
||||
, "trade": "ALPACA_SANDBOX"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.OE_GW"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.OE_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"ALPACA_SNDBX"
|
||||
]
|
||||
}
|
||||
, "pricer": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.PXER"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.PXER_MUSVC_STATUS"
|
||||
, "api": {
|
||||
"REST": {
|
||||
"port": @env{PRICER_REST_PORT},
|
||||
"base_url": ["POST", "http://localhost:@env{PRICER_REST_PORT}"]
|
||||
}
|
||||
, "WS": {
|
||||
"url": "ws://localhost:@env{PRICER_WS_PORT}/ws"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "quant": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.QUANT"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.QUANT_MUSVC_STATUS"
|
||||
}
|
||||
, "risk_manager": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.RMGR"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.RMGR_MUSVC_STATUS"
|
||||
, "revalue_interval_sec": 10.5
|
||||
}
|
||||
, "trader": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.TRADER"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.TRADER_MUSVC_STATUS"
|
||||
|
||||
, "pos_diff_pct_trigger": 10.0
|
||||
, "trading_depth": {
|
||||
"BTC": 0.001
|
||||
# "BTC": 0.1
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,135 +0,0 @@
|
||||
@var COORDINATOR_REST_PORT=23456
|
||||
# @var COORDINATOR_WS_PORT=12345
|
||||
|
||||
@var PRICER_REST_PORT=23457
|
||||
@var PRICER_WS_PORT=12346
|
||||
|
||||
@var GLOBAL_CHANNEL_PREFIX=CVTT_MU
|
||||
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
, "algos": @inc=http://@env{CONFIG_SERVICE}/apps/common/algos
|
||||
, "strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/strategies
|
||||
, "risk_strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/risk_strategies
|
||||
|
||||
, "comm_settings": @env{CONFIG_COMM_SETTINGS}
|
||||
, "global_channel_prefix": ${GLOBAL_CHANNEL_PREFIX}
|
||||
|
||||
, "coordinator": {
|
||||
"api": {
|
||||
"REST": {
|
||||
"port": ${COORDINATOR_REST_PORT},
|
||||
"base_url": ["POST", "http://localhost:${COORDINATOR_REST_PORT}"]
|
||||
}
|
||||
# , "WS": {
|
||||
# "url": "ws://localhost:${COORDINATOR_WS_PORT}/ws"
|
||||
# }
|
||||
}
|
||||
}
|
||||
, "market_data_gateway": {
|
||||
"exchanges_settings": {
|
||||
"*": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
},
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.MD_GW"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.MD_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"COINBASE_AT"
|
||||
, "BNBSPOT"
|
||||
]
|
||||
}
|
||||
, "order_entry_gateway": {
|
||||
"exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
}
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.OE_GW"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.OE_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"COINBASE_AT"
|
||||
]
|
||||
}
|
||||
, "accounting_gateway": {
|
||||
"exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
}
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.ACCT_GW"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.ACCT_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"ALPACA_SNDBX", "COINBASE_AT"
|
||||
]
|
||||
}
|
||||
, "quant": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.QUANT"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.QUANT_MUSVC_STATUS"
|
||||
}
|
||||
, "trader": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.TRADER"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.TRADER_MUSVC_STATUS"
|
||||
}
|
||||
, "bookkeeper": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.BKPR"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.BKPR_MUSVC_STATUS"
|
||||
, "db": {
|
||||
"server_type": "timescale",
|
||||
# "cred_key": "TSDB_TRADING_CVTT_TESTDB"
|
||||
"cred_key": "TSDB_CVTT_TRADINNG_PROD-01-RW"
|
||||
}
|
||||
}
|
||||
, "risk_manager": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.RMGR"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.RMGR_MUSVC_STATUS"
|
||||
, "revalue_interval_sec": 10.5
|
||||
}
|
||||
, "pricer": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.PXER"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.PXER_MUSVC_STATUS"
|
||||
, "api": {
|
||||
"REST": {
|
||||
"port": ${PRICER_REST_PORT},
|
||||
"base_url": ["POST", "http://localhost:${PRICER_REST_PORT}"]
|
||||
}
|
||||
, "WS": {
|
||||
"url": "ws://localhost:${PRICER_WS_PORT}/ws"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,87 @@
|
||||
{
|
||||
"cvtt_fgw": {
|
||||
"REST": {
|
||||
# "service": "cvtt-tester-01.cvtt.vpn:23456",
|
||||
# "service": "dev-server-02.cvtt.vpn:23456",
|
||||
"service": "cld32-tester.cvtt.vpn:23456",
|
||||
},
|
||||
"healthcheck": {
|
||||
"endpoint": "/ping"
|
||||
"interval_sec": 5,
|
||||
},
|
||||
"alerts": {
|
||||
"endpoint": "/alerts",
|
||||
"default_depth_hours": 48,
|
||||
"interval_sec": 5
|
||||
},
|
||||
"consolidated_log": {
|
||||
"endpoint": "/conslog",
|
||||
},
|
||||
"mktdata": {
|
||||
"endpoints": {
|
||||
"subscribe": "/mktdata/subscribe",
|
||||
"last_trade": "/mktdata/last_trade",
|
||||
"last_quote": "/mktdata/book_top",
|
||||
"md_history": "/md_summary"
|
||||
}
|
||||
},
|
||||
"books": {
|
||||
"endpoints": {
|
||||
"book_list": "/books",
|
||||
"book_positions": "/book_positions",
|
||||
"book_trades": "/book_trades",
|
||||
"book_transactions": "/book_transactions",
|
||||
"book_orders": "/book_orders",
|
||||
"exchange_positions": "/exchange_positions",
|
||||
"change_book_config": "/change_book_config",
|
||||
"list_trading_algos": "/list_trading_algos",
|
||||
"current_trading_algo": "/current_trading_algo",
|
||||
"change_trading_algo": "/change_trading_algo",
|
||||
"list_risk_strategies": "/list_risk_strategies",
|
||||
"current_risk_strategy": "/current_risk_strategy",
|
||||
"change_risk_strategy": "/change_risk_strategy",
|
||||
"trading_instructions": "/trading_instructions",
|
||||
"open_orders": "/open_orders"
|
||||
}
|
||||
},
|
||||
"apps": {
|
||||
"endpoints": {
|
||||
"app_list": "/app_list",
|
||||
"app_route": "/app_route"
|
||||
}
|
||||
},
|
||||
"trading_instructions": {
|
||||
"liquidate": {
|
||||
"md_threshold_sec": 120 #
|
||||
}
|
||||
}
|
||||
},
|
||||
"exchange_ids": {
|
||||
"COINBASE_AT": "COINBASE"
|
||||
, "BNBSPOT": "BNBSPOT"
|
||||
},
|
||||
"instruments": {
|
||||
"COINBASE_AT": [
|
||||
"PAIR-ADA-USD",
|
||||
"PAIR-AVAX-USD",
|
||||
"PAIR-BCH-USD",
|
||||
"PAIR-BNB-USD",
|
||||
"PAIR-BTC-USD",
|
||||
"PAIR-DOGE-USD",
|
||||
"PAIR-DOT-USD",
|
||||
"PAIR-ETH-USD",
|
||||
"PAIR-HBAR-USD",
|
||||
"PAIR-LINK-USD",
|
||||
"PAIR-LTC-USD",
|
||||
"PAIR-SHIB-USD",
|
||||
"PAIR-SOL-USD",
|
||||
"PAIR-SUI-USD",
|
||||
"PAIR-XLM-USD",
|
||||
"PAIR-XRP-USD"
|
||||
],
|
||||
# "BNBSPOT": [
|
||||
# "PAIR-BTC-USDT",
|
||||
# "PAIR-BTC-USDT"
|
||||
# ]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,185 @@
|
||||
{
|
||||
"refdata": {
|
||||
"assets": @inc=http://@env{CONFIG_SERVICE}/refdata/assets
|
||||
, "instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/instruments
|
||||
, "exchange_instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/exchange_instruments
|
||||
, "dynamic_instrument_exchanges": ["ALPACA"]
|
||||
, "exchanges": {
|
||||
"COINBASE_AT": {
|
||||
"exchange_id": "COINBASE"
|
||||
, "name": "Coinbase Advanced Trade"
|
||||
, "type": "SPOT"
|
||||
|
||||
, "mktdata" : {
|
||||
"class": "cvttpy_trading.exchanges.coinbase.spot.mkt_data.CoinbaseSpotMdFeed"
|
||||
|
||||
, "reconnect_secs": 2
|
||||
, "max_connections": 10
|
||||
, "price_throttle": true
|
||||
|
||||
, "api": {
|
||||
"web_socket": {
|
||||
"url": "wss://ws-feed.exchange.coinbase.com"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "BNBSPOT": {
|
||||
"exchange_id": "BNBSPOT"
|
||||
, "name": "Binance Spot"
|
||||
, "type": "SPOT"
|
||||
|
||||
, "mktdata" : {
|
||||
"class": "cvttpy_trading.exchanges.binance.spot.mkt_data.BnbSpotMktDataFeed"
|
||||
, "max_connections": 10
|
||||
, "reconnect_secs": 2.0
|
||||
|
||||
|
||||
, "api": {
|
||||
"web_socket": {
|
||||
"url": "wss://stream.binance.com/ws"
|
||||
},
|
||||
"REST": {
|
||||
"depth_snapshot_url": ["GET", "https://api.binance.com/api/v3/depth"],
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "BNBFUT": {
|
||||
"exchange_id": "BNBFUT"
|
||||
, "name": "Binance Futures USD-M"
|
||||
, "type": "FUTURES"
|
||||
|
||||
, "mktdata" : {
|
||||
"class": "cvttpy_trading.exchanges.binance.futures.mkt_data.BnbFutMktDataFeed"
|
||||
, "max_connections": 10
|
||||
, "reconnect_secs": 2.0
|
||||
|
||||
, "api": {
|
||||
"web_socket": {
|
||||
"url": "wss://fstream.binance.com/ws"
|
||||
},
|
||||
"REST": {
|
||||
"depth_snapshot_url": ["GET", "https://fapi.binance.com/fapi/v1/depth"],
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
|
||||
, "md_recorder": {
|
||||
"instrument_groups": {
|
||||
"BNBFUT_CLOUD28": [
|
||||
"BNBFUT:PERP-BTC-USDT"
|
||||
, "BNBFUT:PERP-ETH-USDT"
|
||||
],
|
||||
"BNBSPOT_CLOUD28": [
|
||||
"BNBSPOT:PAIR-ADA-USDT"
|
||||
, "BNBSPOT:PAIR-AVAX-USDT"
|
||||
, "BNBSPOT:PAIR-BCH-USDT"
|
||||
, "BNBSPOT:PAIR-BTC-USDT"
|
||||
, "BNBSPOT:PAIR-DOT-USDT"
|
||||
, "BNBSPOT:PAIR-ETH-USDT"
|
||||
, "BNBSPOT:PAIR-LTC-USDT"
|
||||
, "BNBSPOT:PAIR-SOL-USDT"
|
||||
, "BNBSPOT:PAIR-USDC-USDT"
|
||||
, "BNBSPOT:PAIR-XRP-USDT"
|
||||
],
|
||||
"COINBASE_CLOUD28": [
|
||||
"COINBASE:PAIR-ADA-USD"
|
||||
, "COINBASE:PAIR-AVAX-USD"
|
||||
, "COINBASE:PAIR-BCH-USD"
|
||||
, "COINBASE:PAIR-BTC-USD"
|
||||
, "COINBASE:PAIR-DOT-USD"
|
||||
, "COINBASE:PAIR-ETH-USD"
|
||||
, "COINBASE:PAIR-LTC-USD"
|
||||
, "COINBASE:PAIR-SOL-USD"
|
||||
, "COINBASE:PAIR-XRP-USD"
|
||||
]
|
||||
}
|
||||
, "db": {
|
||||
"class": "cvttpy_tools.db.timescale.tsdb_client.TimescaleDbClient"
|
||||
}
|
||||
, "flush_interval_sec": 0.5
|
||||
|
||||
, "collections": {
|
||||
"__dummy__": null
|
||||
, "ALPACA": {
|
||||
# dynamic instruments names
|
||||
"tables": {
|
||||
"trades": "alpaca_iex.md_trades"
|
||||
, "booktops": "alpaca_iex.md_booktops"
|
||||
, "booksnaps": "alpaca_iex.md_booksnaps"
|
||||
}
|
||||
}
|
||||
, "BNBSPOT": {
|
||||
"instruments": {
|
||||
"PAIR-ADA-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-AVAX-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-BCH-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-BTC-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-DOT-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-ETH-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-LTC-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-SOL-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-USDC-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-XRP-USDT": ["TRADES", "BOOK_TOP"]
|
||||
}
|
||||
, "tables": {
|
||||
"trades": "bnbspot.md_trades"
|
||||
, "booktops": "bnbspot.md_booktops"
|
||||
, "booksnaps": "bnbspot.md_booksnaps"
|
||||
}
|
||||
}
|
||||
, "BNBFUT": {
|
||||
"instruments": {
|
||||
"PERP-BTC-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PERP-ETH-USDT": ["TRADES", "BOOK_TOP"]
|
||||
}
|
||||
, "tables": {
|
||||
"trades": "bnbfut.md_trades"
|
||||
, "booktops": "bnbfut.md_booktops"
|
||||
, "booksnaps": "bnbfut.md_booksnaps"
|
||||
}
|
||||
}
|
||||
, "COINBASE": {
|
||||
"instruments": {
|
||||
"PAIR-ADA-USD": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-AVAX-USD": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-BCH-USD": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-BTC-USD": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-DOT-USD": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-ETH-USD": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-LTC-USD": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-SOL-USD": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-XRP-USD": ["TRADES", "BOOK_TOP"]
|
||||
}
|
||||
, "tables": {
|
||||
"trades": "coinbase.md_trades"
|
||||
, "booktops": "coinbase.md_booktops"
|
||||
, "booksnaps": "coinbase.md_booksnaps"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# ----------------------------------
|
||||
, "exchanges_settings": {
|
||||
"*": {
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,179 @@
|
||||
{
|
||||
"refdata": {
|
||||
"assets": @inc=http://@env{CONFIG_SERVICE}/refdata/assets
|
||||
, "instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/instruments
|
||||
, "exchange_instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/exchange_instruments
|
||||
, "dynamic_instrument_exchanges": ["ALPACA"]
|
||||
, "exchanges": {
|
||||
"COINBASE_AT": {
|
||||
"exchange_id": "COINBASE"
|
||||
, "name": "Coinbase Advanced Trade"
|
||||
, "type": "SPOT"
|
||||
|
||||
, "mktdata" : {
|
||||
"class": "cvttpy_trading.exchanges.coinbase.spot.mkt_data.CoinbaseSpotMdFeed" # for 1.0.3
|
||||
|
||||
, "reconnect_secs": 2
|
||||
, "max_connections": 10
|
||||
, "price_throttle": true
|
||||
|
||||
, "api": {
|
||||
"web_socket": {
|
||||
"url": "wss://ws-feed.exchange.coinbase.com"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "BNBSPOT": {
|
||||
"exchange_id": "BNBSPOT"
|
||||
, "name": "Binance Spot"
|
||||
, "type": "SPOT"
|
||||
|
||||
, "mktdata" : {
|
||||
"class": "cvttpy_trading.exchanges.binance.spot.mkt_data.BnbSpotMktDataFeed"
|
||||
, "max_connections": 10
|
||||
, "reconnect_secs": 2.0
|
||||
|
||||
|
||||
, "api": {
|
||||
"web_socket": {
|
||||
"url": "wss://stream.binance.com/ws"
|
||||
},
|
||||
"REST": {
|
||||
"depth_snapshot_url": ["GET", "https://api.binance.com/api/v3/depth"],
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "BNBFUT": {
|
||||
"exchange_id": "BNBFUT"
|
||||
, "name": "Binance Futures USD-M"
|
||||
, "type": "FUTURES"
|
||||
|
||||
, "mktdata" : {
|
||||
"class": "cvttpy_trading.exchanges.binance.futures.mkt_data.BnbFutMktDataFeed"
|
||||
, "max_connections": 10
|
||||
, "reconnect_secs": 2.0
|
||||
|
||||
, "api": {
|
||||
"web_socket": {
|
||||
"url": "wss://fstream.binance.com/ws"
|
||||
},
|
||||
"REST": {
|
||||
"depth_snapshot_url": ["GET", "https://fapi.binance.com/fapi/v1/depth"],
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
|
||||
, "md_recorder": {
|
||||
"instrument_groups": {
|
||||
"BNBFUT_CLOUD29": [
|
||||
"BNBFUT:PERP-BTC-USDT"
|
||||
, "BNBFUT:PERP-ETH-USDT"
|
||||
],
|
||||
"BNBSPOT_CLOUD29": [
|
||||
"BNBSPOT:PAIR-ADA-USDT"
|
||||
, "BNBSPOT:PAIR-AVAX-USDT"
|
||||
, "BNBSPOT:PAIR-BCH-USDT"
|
||||
, "BNBSPOT:PAIR-BTC-USDT"
|
||||
, "BNBSPOT:PAIR-DOT-USDT"
|
||||
, "BNBSPOT:PAIR-ETH-USDT"
|
||||
, "BNBSPOT:PAIR-LINK-USDT"
|
||||
, "BNBSPOT:PAIR-LTC-USDT"
|
||||
, "BNBSPOT:PAIR-SOL-USDT"
|
||||
#, "BNBSPOT:PAIR-USDC-USDT"
|
||||
, "BNBSPOT:PAIR-XRP-USDT"
|
||||
],
|
||||
"COINBASE_CLOUD29": [
|
||||
"COINBASE:PAIR-ADA-USD"
|
||||
, "COINBASE:PAIR-AVAX-USD"
|
||||
, "COINBASE:PAIR-BCH-USD"
|
||||
, "COINBASE:PAIR-BTC-USD"
|
||||
, "COINBASE:PAIR-DOT-USD"
|
||||
, "COINBASE:PAIR-ETH-USD"
|
||||
, "COINBASE:PAIR-LINK-USD"
|
||||
, "COINBASE:PAIR-LTC-USD"
|
||||
, "COINBASE:PAIR-SOL-USD"
|
||||
, "COINBASE:PAIR-XRP-USD"
|
||||
],
|
||||
}
|
||||
, "db": {
|
||||
"class": "cvttpy_tools.db.timescale.tsdb_client.TimescaleDbClient"
|
||||
}
|
||||
, "collections": {
|
||||
"__dummy__": null
|
||||
, "BNBSPOT": {
|
||||
"instruments": {
|
||||
"PAIR-ADA-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-AVAX-USDT": ["TRADES"]
|
||||
, "PAIR-BCH-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-BTC-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-DOT-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-ETH-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-LINK-USDT": ["TRADES"]
|
||||
, "PAIR-LTC-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-SOL-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-USDC-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-XRP-USDT": ["TRADES", "BOOK_TOP"]
|
||||
}
|
||||
, "tables": {
|
||||
"trades": "bnbspot.md_trades"
|
||||
, "booktops": "bnbspot.md_booktops"
|
||||
, "booksnaps": "bnbspot.md_booksnaps"
|
||||
}
|
||||
}
|
||||
, "BNBFUT": {
|
||||
"instruments": {
|
||||
"PERP-BTC-USDT": ["TRADES", "BOOK_TOP"]
|
||||
, "PERP-ETH-USDT": ["TRADES", "BOOK_TOP"]
|
||||
}
|
||||
, "tables": {
|
||||
"trades": "bnbfut.md_trades"
|
||||
, "booktops": "bnbfut.md_booktops"
|
||||
, "booksnaps": "bnbfut.md_booksnaps"
|
||||
}
|
||||
}
|
||||
, "COINBASE": {
|
||||
"instruments": {
|
||||
"PAIR-ADA-USD": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-AVAX-USD": ["TRADES"]
|
||||
, "PAIR-BCH-USD": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-BTC-USD": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-DOT-USD": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-ETH-USD": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-LINK-USD": ["TRADES"]
|
||||
, "PAIR-LTC-USD": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-SOL-USD": ["TRADES", "BOOK_TOP"]
|
||||
, "PAIR-XRP-USD": ["TRADES", "BOOK_TOP"]
|
||||
}
|
||||
, "tables": {
|
||||
"trades": "coinbase.md_trades"
|
||||
, "booktops": "coinbase.md_booktops"
|
||||
, "booksnaps": "coinbase.md_booksnaps"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# ----------------------------------
|
||||
"exchanges_settings": {
|
||||
"*": {
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
|
||||
, "db": {
|
||||
"class": "cvttpy_tools.db.timescale.tsdb_client.TimescaleDbClient",
|
||||
"cred_key": "TSDB-CLD32-PROD-OHLCV-DIRECT-RO"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
"md_history_depth_hrs": 36,
|
||||
"to_fill_entire_depth": false, # consider a gap if entire depth is empty, if False - warn and ignore
|
||||
"beacon_instruments": {
|
||||
"COINBASE_AT": [
|
||||
"PAIR-ADA-USD",
|
||||
"PAIR-AVAX-USD",
|
||||
"PAIR-BCH-USD",
|
||||
"PAIR-BNB-USD",
|
||||
"PAIR-BTC-USD",
|
||||
"PAIR-DOGE-USD",
|
||||
"PAIR-DOT-USD",
|
||||
"PAIR-ETH-USD",
|
||||
"PAIR-HBAR-USD",
|
||||
"PAIR-LINK-USD",
|
||||
"PAIR-LTC-USD",
|
||||
"PAIR-SHIB-USD",
|
||||
"PAIR-SOL-USD",
|
||||
"PAIR-SUI-USD",
|
||||
"PAIR-XLM-USD",
|
||||
"PAIR-XRP-USD"
|
||||
],
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
{
|
||||
# "refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
|
||||
"db": {
|
||||
"cred_key": @env{DB_CREDENTIALS_KEY}
|
||||
},
|
||||
"instruments": [
|
||||
# ------------- BINANCE
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-ADA-USDT"
|
||||
# },
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-AVAX-USDT"
|
||||
# },
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-BCH-USDT"
|
||||
# },
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-BNB-USDT"
|
||||
# },
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-BTC-USDT"
|
||||
# },
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-DOGE-USDT"
|
||||
# },
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-DOT-USDT"
|
||||
# },
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-ETH-USDT"
|
||||
# },
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-HBAR-USDT"
|
||||
# },
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-LINK-USDT"
|
||||
# },
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-LTC-USDT"
|
||||
# },
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-SHIB-USDT"
|
||||
# },
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-SOL-USDT"
|
||||
# },
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-SUI-USDT"
|
||||
# },
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-XLM-USDT"
|
||||
# },
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-XRP-USDT"
|
||||
# },
|
||||
# ------------- COINBASE
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-ADA-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-AVAX-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-BCH-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-BNB-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-BTC-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-DOGE-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-DOT-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-ETH-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-HBAR-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-LINK-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-LTC-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-SHIB-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-SOL-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-SUI-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-XLM-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-XRP-USD"
|
||||
}
|
||||
],
|
||||
"mmost": {
|
||||
"cred_key": "MATTERMOST"
|
||||
, "alert_channel": "Alerts-CVTT"
|
||||
, "status_channel": "Status-CVTT"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,114 @@
|
||||
@var GLOBAL_CHANNEL_PREFIX=BNBS_OHLCV_REC
|
||||
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
, "algos": @inc=http://@env{CONFIG_SERVICE}/apps/common/algos
|
||||
, "risk_strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/risk_strategies
|
||||
|
||||
, "pubsub_settings": "@env{PUBSUB_SETTINGS_CONFIG_KEY}"
|
||||
, "cache_settings": "@env{CACHE_SETTINGS_CONFIG_KEY}"
|
||||
|
||||
, "global_channel_prefix": ${GLOBAL_CHANNEL_PREFIX}
|
||||
|
||||
, "market_data_gateway": {
|
||||
"exchanges_settings": {
|
||||
"*": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
},
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.MD_GW"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.MD_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"BNBSPOT"
|
||||
]
|
||||
}
|
||||
, "ohlcv_recorder": {
|
||||
"app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.OHLCV_RECORDER_STATUS"
|
||||
, "historical_md": {
|
||||
"db": {
|
||||
"cred_key": "TSDB-CLD32-PROD-OHLCV-DCKR"
|
||||
}
|
||||
, "trades_recording": { # unconditional trades recording for 1min aggregates
|
||||
"flush_interval_sec": 5.0
|
||||
"instruments": [
|
||||
{
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-ADA-USDT"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-AVAX-USDT"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-BCH-USDT"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-BNB-USDT"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-BTC-USDT"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-DOGE-USDT"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-DOT-USDT"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-ETH-USDT"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-HBAR-USDT"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-LINK-USDT"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-LTC-USDT"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-SHIB-USDT"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-SOL-USDT"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-SUI-USDT"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-XLM-USDT"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "BNBSPOT"
|
||||
, "instrument_id": "PAIR-XRP-USDT"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,115 @@
|
||||
@var GLOBAL_CHANNEL_PREFIX=CBASE_OHLCV_REC
|
||||
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
, "algos": @inc=http://@env{CONFIG_SERVICE}/apps/common/algos
|
||||
, "risk_strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/risk_strategies
|
||||
|
||||
# new communication settings
|
||||
, "pubsub_settings": "@env{PUBSUB_SETTINGS_CONFIG_KEY}"
|
||||
, "cache_settings": "@env{CACHE_SETTINGS_CONFIG_KEY}"
|
||||
|
||||
, "global_channel_prefix": ${GLOBAL_CHANNEL_PREFIX}
|
||||
|
||||
, "market_data_gateway": {
|
||||
"exchanges_settings": {
|
||||
"*": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
},
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.MD_GW"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.MD_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"COINBASE_AT"
|
||||
]
|
||||
}
|
||||
, "ohlcv_recorder": {
|
||||
"app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.OHLCV_RECORDER_STATUS"
|
||||
, "historical_md": {
|
||||
"db": {
|
||||
"cred_key": "TSDB-CLD32-PROD-OHLCV-DCKR"
|
||||
}
|
||||
, "trades_recording": { # unconditional trades recording for 1min aggregates
|
||||
"flush_interval_sec": 5.0
|
||||
"instruments": [
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-ADA-USD"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-AVAX-USD"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-BCH-USD"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-BNB-USD"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-BTC-USD"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-DOGE-USD"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-DOT-USD"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-ETH-USD"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-HBAR-USD"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-LINK-USD"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-LTC-USD"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-SHIB-USD"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-SOL-USD"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-SUI-USD"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-XLM-USD"
|
||||
}
|
||||
, {
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-XRP-USD"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,271 @@
|
||||
@var GLOBAL_CHANNEL_PREFIX=CVTT_MU
|
||||
@var EXCHANGES=["COINBASE_AT","COINBASE_FUT"]
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata # tetsetraefafd
|
||||
, "comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm
|
||||
, "algos": @inc=http://@env{CONFIG_SERVICE}/apps/common/algos
|
||||
, "risk_strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/risk_strategies
|
||||
|
||||
, "pubsub_settings": "@env{PUBSUB_SETTINGS_CONFIG_KEY}"
|
||||
, "cache_settings": "@env{CACHE_SETTINGS_CONFIG_KEY}"
|
||||
, "md_cache_settings": "@env{MD_CACHE_SETTINGS_CONFIG_KEY}"
|
||||
# , "db_cred_key": "@env{DB_CREDENTIALS_KEY}"
|
||||
|
||||
, "global_channel_prefix": ${GLOBAL_CHANNEL_PREFIX}
|
||||
|
||||
, "alerts": {
|
||||
"channel": "${GLOBAL_CHANNEL_PREFIX}.ALERT",
|
||||
"ttl_days": 7
|
||||
}
|
||||
, "consolidated_log": {
|
||||
"channel": "${GLOBAL_CHANNEL_PREFIX}.CLOG",
|
||||
"ttl_minutes": 60,
|
||||
"pruners": ["FRONT_GATEWAY"] # these MuSvcs prune log to TTL
|
||||
}
|
||||
, "accounting_gateway": {
|
||||
"name": "ACCT_GATEWAY",
|
||||
"app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.ACCT_GW.APP_STATUS"
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.ACCT_GW."
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "COINBASE_ADV_RO"
|
||||
}
|
||||
},
|
||||
"COINBASE_FUT": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "COINBASE_ADV_RO"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "connectors": {
|
||||
"simulated": false,
|
||||
"exchanges": ["COINBASE_AT", "COINBASE_FUT"]
|
||||
}
|
||||
}
|
||||
, "bookkeeper": {
|
||||
"name": "BOOKKEEPER",
|
||||
"app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.BKPR.APP_STATUS"
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.BKPR."
|
||||
, "db": {
|
||||
"server_type": "timescale",
|
||||
"cred_key": "TSDB-CLD32-TESTER-DIRECT"
|
||||
}
|
||||
, "use_cache": true
|
||||
}
|
||||
, "front_gateway": {
|
||||
"name": "FRONT_GATEWAY",
|
||||
"app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.FRONT_GW.APP_STATUS"
|
||||
, "api": {
|
||||
"REST": {
|
||||
"port": @env{FRONT_GATEWAY_REST_PORT},
|
||||
"base_url": ["POST", "http://localhost:@env{FRONT_GATEWAY_REST_PORT}"]
|
||||
}
|
||||
}
|
||||
, "musvc_peers": {
|
||||
# enable/disable peer proxy
|
||||
"bookkeeper": true
|
||||
, "pricer": true
|
||||
, "trader": true
|
||||
, "risk_manager": true
|
||||
# ADD market gateways for USE_INSTRUMENTS
|
||||
, "market_data_gateway": true
|
||||
, "order_entry_gateway": true
|
||||
, "accounting_gateway": true
|
||||
}
|
||||
, "supported_apps": [
|
||||
"STAT_PAIRS_SELECTOR",
|
||||
"STAT_PAIR_QUANT"
|
||||
]
|
||||
, "app_hb_interval_sec": 15
|
||||
}
|
||||
, "market_data_gateway": {
|
||||
"name": "MD_GATEWAY",
|
||||
"app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.MD_GW.APP_STATUS"
|
||||
, "exchanges_settings": {
|
||||
"*": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
},
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.MD_GW."
|
||||
, "connectors": {
|
||||
"simulated": false,
|
||||
# "exchanges": ["COINBASE_AT", "COINBASE_FUT"]
|
||||
"exchanges": ${EXCHANGES}
|
||||
}
|
||||
, "reset_md_cache_on_start": true
|
||||
}
|
||||
, "order_entry_gateway": {
|
||||
"name": "OE_GATEWAY",
|
||||
"app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.OE_GW.APP_STATUS"
|
||||
, "exchanges_settings": {
|
||||
"COINBASE_AT": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
"credentials_key": {
|
||||
"read_only": "COINBASE_ADV_RO"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.OE_GW."
|
||||
, "connectors": {
|
||||
"simulated": true,
|
||||
"exchanges": ${EXCHANGES}
|
||||
}
|
||||
}
|
||||
, "pricer": {
|
||||
"name": "PRICER",
|
||||
"app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.PXER.APP_STATUS"
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.PXER."
|
||||
, "historical_md": {
|
||||
"db": {
|
||||
# "cred_key": "TSDB-CLD32-PROD-OHLCV-DIRECT-RO"
|
||||
# "cred_key": "TSDB-CLD32-TESTER-DCKR-CMPS"
|
||||
# "cred_key": "TSDB-CLD32-TESTER-DIRECT-RO"
|
||||
"cred_key": "@env{DB_CREDENTIALS_KEY}"
|
||||
}
|
||||
, "enable_mda_recording": false # RO account is used
|
||||
}
|
||||
, "pre-subscribe": {
|
||||
"interval_sec": 60
|
||||
, "history_depth_hours": 48
|
||||
, "instruments": [
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-ADA-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-AVAX-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-BCH-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-BNB-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-BTC-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-DOGE-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-DOT-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-ETH-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-HBAR-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-LINK-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-LTC-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-SHIB-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-SOL-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-SUI-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-XLM-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-XRP-USD"
|
||||
}
|
||||
]
|
||||
|
||||
}
|
||||
}
|
||||
, "risk_manager": {
|
||||
"name": "RISK_MGR",
|
||||
"app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.RMGR.APP_STATUS"
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.RMGR."
|
||||
, "revalue_interval_sec": 10.5
|
||||
}
|
||||
, "trader": {
|
||||
"name": "TRADER",
|
||||
"app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.TRADER.APP_STATUS"
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.TRADER."
|
||||
|
||||
# -----------------------------------
|
||||
# moved to the algos.cfg for TgtPos Algo
|
||||
# -----------------------------------
|
||||
# , "pos_diff_pct_trigger": 10.0
|
||||
|
||||
# -----------------------------------
|
||||
# moved to the book_config (db)
|
||||
# -----------------------------------
|
||||
# , "trading_depth": {
|
||||
# "BTC": 0.001
|
||||
# # "BTC": 0.1
|
||||
# }
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
, "calendar_session": {
|
||||
"trading_hours_url": [
|
||||
"GET"
|
||||
, "https://trading-calendar.cvtt.net/api/v1/markets/hours?mic=XNYS&start={start}&end={end}"
|
||||
]
|
||||
}
|
||||
, "exchanges_settings": {
|
||||
"*": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
}
|
||||
}
|
||||
, "comm_settings": "/comm/pubsub/redis/localhost"
|
||||
# , "cvttcomm": {
|
||||
# "type": "redis"
|
||||
# , "comm_settings": "/comm/pubsub/redis/localhost"
|
||||
# }
|
||||
}
|
||||
|
||||
@@ -1,349 +0,0 @@
|
||||
@var COORDINATOR_HOST=localhost
|
||||
@var COORDINATOR_REST_PORT=28001
|
||||
@var COORDINATOR_WS_PORT=28002
|
||||
|
||||
@var GLOBAL_CHANNEL_PREFIX=CVTT_MU_SIM
|
||||
|
||||
@var SIM_HOST=localhost
|
||||
@var SIM_DATA_DIR=/home/oleg/develop/simulation/data
|
||||
|
||||
@var SIM_MD_WS_PORT=28080
|
||||
@var SIM_OE_WS_PORT=28081
|
||||
@var SIM_OE_REST_PORT=28082
|
||||
@var SIM_AC_REST_PORT=28083
|
||||
|
||||
|
||||
{
|
||||
# ---------------------------------------
|
||||
"__dummy__": null
|
||||
# ---------------------------------------
|
||||
# Overwriting "exchanges" part in "refdata"
|
||||
# "refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
"refdata": {
|
||||
"assets": @inc=http://@env{CONFIG_SERVICE}/refdata/assets ,
|
||||
"instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/instruments ,
|
||||
"exchange_instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/exchange_instruments ,
|
||||
"dynamic_instrument_exchanges": ["ALPACA"],
|
||||
"exchanges": {
|
||||
"SIM_COINBASE": {
|
||||
"exchange_id": "COINBASE",
|
||||
"name": "Coinbase Advanced Trade (Simulation)",
|
||||
"type": "SPOT",
|
||||
|
||||
"mktdata" : {
|
||||
"class": "cvttpy.exchanges.mkt_simulator.md_client.MktSimMdClientFeed"
|
||||
"api": @pathptr=simulation/market_simulator/market_data/api
|
||||
},
|
||||
"order_entry": {
|
||||
"class": "cvttpy.exchanges.mkt_simulator.oe_client.MarketSimulatorOEClient"
|
||||
"api": @ptrpath=simulation/market_simulator/order_entry/api
|
||||
},
|
||||
"accounting": {
|
||||
"class": "cvttpy.exchanges.mkt_simulator.acct_client.MktSimAccounting"
|
||||
"api": @ptrpath=simulation/market_simulator/accounting/api
|
||||
},
|
||||
},
|
||||
"SIM_ALPACA": {
|
||||
"exchange_id": "ALPACA",
|
||||
"name": "Alpaca Trading",
|
||||
"type": "EQUITY",
|
||||
|
||||
"mktdata" : {
|
||||
"class": "cvttpy.exchanges.mkt_simulator.md_client.MktSimMdClientFeed"
|
||||
"config_key": "simulation/market_simulator/market_data/api"
|
||||
},
|
||||
"order_entry": {
|
||||
"class": "cvttpy.exchanges.mkt_simulator.oe_client.MarketSimulatorOEClient"
|
||||
"config_key": "simulation/market_simulator/order_entry/api"
|
||||
},
|
||||
"accounting": {
|
||||
"class": "cvttpy.exchanges.mkt_simulator.acct_client.MktSimAccounting"
|
||||
"config_key": "simulation/market_simulator/accounting/api"
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
"comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm ,
|
||||
"algos": @inc=http://@env{CONFIG_SERVICE}/apps/common/algos ,
|
||||
"strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/strategies ,
|
||||
"risk_strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/risk_strategies ,
|
||||
|
||||
"comm_settings": "@env{CONFIG_COMM_SETTINGS}",
|
||||
"global_channel_prefix": "${GLOBAL_CHANNEL_PREFIX}",
|
||||
|
||||
"simulation": {
|
||||
# "speed_factor": 1.0,
|
||||
"speed_factor": 0.0
|
||||
, "time_events_interval_ms": 0
|
||||
, "simtime_file": "${SIM_DATA_DIR}/simtime.bin"
|
||||
, "expected_consumers": [
|
||||
"md_gateway",
|
||||
"mkt_gateway_tester"
|
||||
"coordinator",
|
||||
# "oe_gateway",
|
||||
# "acct_gateway",
|
||||
# "quant",
|
||||
# "trader",
|
||||
# "bookkeeper",
|
||||
# "risk_manager",
|
||||
# "pricer"
|
||||
]
|
||||
, "consumer_timeout_sec": 30.0
|
||||
|
||||
, "market_simulator" : {
|
||||
"initial_positions": {
|
||||
"exchange": "COINBASE",
|
||||
"assets": {
|
||||
"BTC": 0.5
|
||||
, "ETH": 0.0
|
||||
, "USD": 10_000.0
|
||||
}
|
||||
}
|
||||
, "market_data": {
|
||||
"sources": [
|
||||
{
|
||||
"loader_class": "cvttpy.trading.mkt_data.time_series.loaders.sqlite_loader.SqliteMdLoader"
|
||||
, "file_name": "${SIM_DATA_DIR}/20250422.CNBS.BTC_USD.db"
|
||||
, "table_name": "md_trades"
|
||||
, "columns": [
|
||||
"tstamp"
|
||||
, "tstamp_ns as tm" # must have tm for DataFrame
|
||||
, "tstamp_ns as local_time_ns" # must have for simrunner
|
||||
, "exchange_id"
|
||||
, "instrument_id"
|
||||
, "px as price"
|
||||
, "qty as quantity"
|
||||
, "trade_id"
|
||||
, "condition as aggressor_side"
|
||||
, "condition as taker_side"
|
||||
]
|
||||
, "time_column": "tstamp"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instruments": ["PAIR-BTC-USD"]
|
||||
, "md_type": "TRADES"
|
||||
}
|
||||
# , {
|
||||
# "loader_class": "cvttpy.trading.mkt_data.time_series.loaders.tsdb_loader.TimescaleTSLoader"
|
||||
# , "credentials_key": "TSDB_MD_CVTTDATA_RO"
|
||||
# , "interval": ${INTERVAL}
|
||||
# , "from_time": ${FROM_TIME} #"2024-10-03 09:00:00"
|
||||
# , "exchange_id": "COINBASE"
|
||||
# , "instruments": ["PAIR-BTC-USD"]
|
||||
# , "md_type": "BOOK_TOP"
|
||||
# , "table_name": "coinbase.md_booktops"
|
||||
# , "columns": [
|
||||
# "time",
|
||||
# "local_time_ns",
|
||||
# "exchange_id",
|
||||
# "instrument_id",
|
||||
# "bid_price",
|
||||
# "bid_quantity",
|
||||
# "ask_price",
|
||||
# "ask_quantity",
|
||||
# "'BT' as type",
|
||||
# ]
|
||||
# , "time_column": "time"
|
||||
# }
|
||||
]
|
||||
, "api": {
|
||||
"web_socket": {
|
||||
"url": "ws://${SIM_HOST}:${SIM_MD_WS_PORT}/ws"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "order_entry": {
|
||||
"execution": {
|
||||
"execute_on": ["BOOK_TOP", "TRADES"]
|
||||
"top_only": true
|
||||
,"min_order_age_sec": 0.1
|
||||
, "pricing_method": "BY_MKT_TRD_PRICE_BY_TRADE"
|
||||
|
||||
, "short_sale_allowed": false
|
||||
, "fee_schedule": {
|
||||
"taker_fee_rate": 0.006
|
||||
"maker_fee_rate": 0.004
|
||||
}
|
||||
# , "presubscribe_md_types": ["BOOK_TOP", "TRADES"]
|
||||
}
|
||||
, "api": {
|
||||
"web_socket": {
|
||||
"url": "ws://${SIM_HOST}:${SIM_OE_WS_PORT}/ws"
|
||||
}
|
||||
, "REST": {
|
||||
"port": ${SIM_OE_REST_PORT},
|
||||
"base_url": "http://${SIM_HOST}:${SIM_OE_REST_PORT}",
|
||||
"endpoints": {
|
||||
"new_order": ["POST", "/order"],
|
||||
"cancel_order": ["POST", "/cancel"],
|
||||
"cancel_all": ["POST", "/cancel_all"],
|
||||
"open_orders": ["GET", "/open_orders"],
|
||||
"order_status": ["GET", "/order_status"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "accounting": {
|
||||
"api": {
|
||||
"REST": {
|
||||
"port": ${SIM_AC_REST_PORT},
|
||||
"base_url": "http://${SIM_HOST}:${SIM_AC_REST_PORT}",
|
||||
"endpoints": {
|
||||
"positions": ["GET", "/positions"]
|
||||
"trades": ["GET", "/trades"]
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "external_participants": [
|
||||
{
|
||||
"class": "cvttpy.apps.trading_simulator.participants.external_strategy.ExternalStrategySim"
|
||||
"params": {
|
||||
"reader": {
|
||||
"source": "file://${SIM_DATA_DIR}/trading_instructions.json"
|
||||
}
|
||||
"listener": {
|
||||
"book_id": "TESTBK_COINBS_01",
|
||||
"strategy_id": "DUMMY_STRATEGY"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
, "coordinator": {
|
||||
"api": {
|
||||
"REST": {
|
||||
"port": ${COORDINATOR_REST_PORT},
|
||||
"base_url": ["POST", "http://${COORDINATOR_HOST}:${COORDINATOR_REST_PORT}"],
|
||||
}
|
||||
, "WS": {
|
||||
"url": "ws://${COORDINATOR_HOST}:${COORDINATOR_WS_PORT}/ws"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "market_data_gateway": {
|
||||
"exchanges_settings": {
|
||||
"*": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
},
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.MD_GW"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.MD_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"SIM_COINBASE"
|
||||
],
|
||||
"presubscribe": [
|
||||
"COINBASE:PAIR-BTC-USD"
|
||||
]
|
||||
}
|
||||
, "order_entry_gateway": {
|
||||
"exchanges_settings": {
|
||||
"ALPACA_SNDBX": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "ALPACA_SANDBOX"
|
||||
, "trade": "ALPACA_SANDBOX"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.OE_GW"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.OE_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"SIM_COINBASE"
|
||||
]
|
||||
}
|
||||
, "accounting_gateway": {
|
||||
"exchanges_settings": {
|
||||
"ALPACA_SNDBX": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "ALPACA_SANDBOX"
|
||||
, "trade": "ALPACA_SANDBOX"
|
||||
}
|
||||
},
|
||||
"COINBASE_AT": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "COINBASE_ADV_RO"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.ACCT_GW"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.ACCT_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"SIM_COINBASE"
|
||||
]
|
||||
}
|
||||
, "quant": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.QUANT"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.QUANT_MUSVC_STATUS"
|
||||
}
|
||||
, "trader": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.TRADER"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.TRADER_MUSVC_STATUS"
|
||||
}
|
||||
, "bookkeeper": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.BKPR"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.BKPR_MUSVC_STATUS"
|
||||
, "db": {
|
||||
"server_type": "timescale",
|
||||
"cred_key": "TSDB_TRADING_CVTT_TESTDB"
|
||||
}
|
||||
}
|
||||
, "risk_manager": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.RMGR"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.RMGR_MUSVC_STATUS"
|
||||
, "revalue_interval_sec": 10.5
|
||||
}
|
||||
, "pricer": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.PXER"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.PXER_MUSVC_STATUS"
|
||||
}
|
||||
}
|
||||
@@ -1,349 +0,0 @@
|
||||
@var COORDINATOR_HOST=localhost
|
||||
@var COORDINATOR_REST_PORT=28001
|
||||
@var COORDINATOR_WS_PORT=28002
|
||||
|
||||
@var GLOBAL_CHANNEL_PREFIX=CVTT_MU_SIM
|
||||
|
||||
@var SIM_HOST=localhost
|
||||
@var SIM_DATA_DIR=/home/oleg/develop/simulation/data
|
||||
|
||||
@var SIM_MD_WS_PORT=28080
|
||||
@var SIM_OE_WS_PORT=28081
|
||||
@var SIM_OE_REST_PORT=28082
|
||||
@var SIM_AC_REST_PORT=28083
|
||||
|
||||
|
||||
{
|
||||
# ---------------------------------------
|
||||
"__dummy__": null
|
||||
# ---------------------------------------
|
||||
# Overwriting "exchanges" part in "refdata"
|
||||
# "refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
"refdata": {
|
||||
"assets": @inc=http://@env{CONFIG_SERVICE}/refdata/assets ,
|
||||
"instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/instruments ,
|
||||
"exchange_instruments": @inc=http://@env{CONFIG_SERVICE}/refdata/exchange_instruments ,
|
||||
"dynamic_instrument_exchanges": ["ALPACA"],
|
||||
"exchanges": {
|
||||
"SIM_COINBASE": {
|
||||
"exchange_id": "COINBASE",
|
||||
"name": "Coinbase Advanced Trade (Simulation)",
|
||||
"type": "SPOT",
|
||||
|
||||
"mktdata" : {
|
||||
"class": "cvttpy.exchanges.mkt_simulator.md_client.MktSimMdClientFeed"
|
||||
"api": @pathptr=simulation/market_simulator/market_data/api
|
||||
},
|
||||
"order_entry": {
|
||||
"class": "cvttpy.exchanges.mkt_simulator.oe_client.MarketSimulatorOEClient"
|
||||
"api": @ptrpath=simulation/market_simulator/order_entry/api
|
||||
},
|
||||
"accounting": {
|
||||
"class": "cvttpy.exchanges.mkt_simulator.acct_client.MktSimAccounting"
|
||||
"api": @ptrpath=simulation/market_simulator/accounting/api
|
||||
},
|
||||
},
|
||||
"SIM_ALPACA": {
|
||||
"exchange_id": "ALPACA",
|
||||
"name": "Alpaca Trading",
|
||||
"type": "EQUITY",
|
||||
|
||||
"mktdata" : {
|
||||
"class": "cvttpy.exchanges.mkt_simulator.md_client.MktSimMdClientFeed"
|
||||
"config_key": "simulation/market_simulator/market_data/api"
|
||||
},
|
||||
"order_entry": {
|
||||
"class": "cvttpy.exchanges.mkt_simulator.oe_client.MarketSimulatorOEClient"
|
||||
"config_key": "simulation/market_simulator/order_entry/api"
|
||||
},
|
||||
"accounting": {
|
||||
"class": "cvttpy.exchanges.mkt_simulator.acct_client.MktSimAccounting"
|
||||
"config_key": "simulation/market_simulator/accounting/api"
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
"comm": @inc=http://@env{CONFIG_SERVICE}/apps/common/comm ,
|
||||
"algos": @inc=http://@env{CONFIG_SERVICE}/apps/common/algos ,
|
||||
"strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/strategies ,
|
||||
"risk_strategies": @inc=http://@env{CONFIG_SERVICE}/apps/common/risk_strategies ,
|
||||
|
||||
"comm_settings": "@env{CONFIG_COMM_SETTINGS}",
|
||||
"global_channel_prefix": "${GLOBAL_CHANNEL_PREFIX}",
|
||||
|
||||
"simulation": {
|
||||
# "speed_factor": 1.0,
|
||||
"speed_factor": 0.0
|
||||
, "time_events_interval_ms": 0
|
||||
, "simtime_file": "${SIM_DATA_DIR}/simtime.bin"
|
||||
, "expected_consumers": [
|
||||
"md_gateway",
|
||||
"mkt_gateway_tester"
|
||||
"coordinator",
|
||||
# "oe_gateway",
|
||||
# "acct_gateway",
|
||||
# "quant",
|
||||
# "trader",
|
||||
# "bookkeeper",
|
||||
# "risk_manager",
|
||||
# "pricer"
|
||||
]
|
||||
, "consumer_timeout_sec": 30.0
|
||||
|
||||
, "market_simulator" : {
|
||||
"initial_positions": {
|
||||
"exchange": "COINBASE",
|
||||
"assets": {
|
||||
"BTC": 0.5
|
||||
, "ETH": 0.0
|
||||
, "USD": 10_000.0
|
||||
}
|
||||
}
|
||||
, "market_data": {
|
||||
"sources": [
|
||||
{
|
||||
"loader_class": "cvttpy.trading.mkt_data.time_series.loaders.sqlite_loader.SqliteMdLoader"
|
||||
, "file_name": "${SIM_DATA_DIR}/20250422.CNBS.BTC_USD.db"
|
||||
, "table_name": "md_trades"
|
||||
, "columns": [
|
||||
"tstamp"
|
||||
, "tstamp_ns as tm" # must have tm for DataFrame
|
||||
, "tstamp_ns as local_time_ns" # must have for simrunner
|
||||
, "exchange_id"
|
||||
, "instrument_id"
|
||||
, "px as price"
|
||||
, "qty as quantity"
|
||||
, "trade_id"
|
||||
, "condition as aggressor_side"
|
||||
, "condition as taker_side"
|
||||
]
|
||||
, "time_column": "tstamp"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instruments": ["PAIR-BTC-USD"]
|
||||
, "md_type": "TRADES"
|
||||
}
|
||||
# , {
|
||||
# "loader_class": "cvttpy.trading.mkt_data.time_series.loaders.tsdb_loader.TimescaleTSLoader"
|
||||
# , "credentials_key": "TSDB_MD_CVTTDATA_RO"
|
||||
# , "interval": ${INTERVAL}
|
||||
# , "from_time": ${FROM_TIME} #"2024-10-03 09:00:00"
|
||||
# , "exchange_id": "COINBASE"
|
||||
# , "instruments": ["PAIR-BTC-USD"]
|
||||
# , "md_type": "BOOK_TOP"
|
||||
# , "table_name": "coinbase.md_booktops"
|
||||
# , "columns": [
|
||||
# "time",
|
||||
# "local_time_ns",
|
||||
# "exchange_id",
|
||||
# "instrument_id",
|
||||
# "bid_price",
|
||||
# "bid_quantity",
|
||||
# "ask_price",
|
||||
# "ask_quantity",
|
||||
# "'BT' as type",
|
||||
# ]
|
||||
# , "time_column": "time"
|
||||
# }
|
||||
]
|
||||
, "api": {
|
||||
"web_socket": {
|
||||
"url": "ws://${SIM_HOST}:${SIM_MD_WS_PORT}/ws"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "order_entry": {
|
||||
"execution": {
|
||||
"execute_on": ["BOOK_TOP", "TRADES"]
|
||||
"top_only": true
|
||||
,"min_order_age_sec": 0.1
|
||||
, "pricing_method": "BY_MKT_TRD_PRICE_BY_TRADE"
|
||||
|
||||
, "short_sale_allowed": false
|
||||
, "fee_schedule": {
|
||||
"taker_fee_rate": 0.006
|
||||
"maker_fee_rate": 0.004
|
||||
}
|
||||
# , "presubscribe_md_types": ["BOOK_TOP", "TRADES"]
|
||||
}
|
||||
, "api": {
|
||||
"web_socket": {
|
||||
"url": "ws://${SIM_HOST}:${SIM_OE_WS_PORT}/ws"
|
||||
}
|
||||
, "REST": {
|
||||
"port": ${SIM_OE_REST_PORT},
|
||||
"base_url": "http://${SIM_HOST}:${SIM_OE_REST_PORT}",
|
||||
"endpoints": {
|
||||
"new_order": ["POST", "/order"],
|
||||
"cancel_order": ["POST", "/cancel"],
|
||||
"cancel_all": ["POST", "/cancel_all"],
|
||||
"open_orders": ["GET", "/open_orders"],
|
||||
"order_status": ["GET", "/order_status"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "accounting": {
|
||||
"api": {
|
||||
"REST": {
|
||||
"port": ${SIM_AC_REST_PORT},
|
||||
"base_url": "http://${SIM_HOST}:${SIM_AC_REST_PORT}",
|
||||
"endpoints": {
|
||||
"positions": ["GET", "/positions"]
|
||||
"trades": ["GET", "/trades"]
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "external_participants": [
|
||||
{
|
||||
"class": "cvttpy.apps.trading_simulator.participants.external_strategy.ExternalStrategySim"
|
||||
"params": {
|
||||
"reader": {
|
||||
"source": "file://${SIM_DATA_DIR}/trading_instructions.json"
|
||||
}
|
||||
"listener": {
|
||||
"book_id": "TESTBK_COINBS_01",
|
||||
"strategy_id": "DUMMY_STRATEGY"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
, "coordinator": {
|
||||
"api": {
|
||||
"REST": {
|
||||
"port": ${COORDINATOR_REST_PORT},
|
||||
"base_url": ["POST", "http://${COORDINATOR_HOST}:${COORDINATOR_REST_PORT}"],
|
||||
}
|
||||
, "WS": {
|
||||
"url": "ws://${COORDINATOR_HOST}:${COORDINATOR_WS_PORT}/ws"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "market_data_gateway": {
|
||||
"exchanges_settings": {
|
||||
"*": {
|
||||
"mkt_data": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
},
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.MD_GW"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.MD_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"SIM_COINBASE"
|
||||
],
|
||||
"presubscribe": [
|
||||
"COINBASE:PAIR-BTC-USD"
|
||||
]
|
||||
}
|
||||
, "order_entry_gateway": {
|
||||
"exchanges_settings": {
|
||||
"ALPACA_SNDBX": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": true
|
||||
, "streaming": true
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "ALPACA_SANDBOX"
|
||||
, "trade": "ALPACA_SANDBOX"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.OE_GW"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.OE_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"SIM_COINBASE"
|
||||
]
|
||||
}
|
||||
, "accounting_gateway": {
|
||||
"exchanges_settings": {
|
||||
"ALPACA_SNDBX": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "ALPACA_SANDBOX"
|
||||
, "trade": "ALPACA_SANDBOX"
|
||||
}
|
||||
},
|
||||
"COINBASE_AT": {
|
||||
"mkt_data": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"order_entry": {
|
||||
"enabled": false
|
||||
, "streaming": false
|
||||
},
|
||||
"accounting": {
|
||||
"enabled": true
|
||||
, "streaming": false
|
||||
}
|
||||
, "credentials_key": {
|
||||
"read_only": "COINBASE_ADV_RO"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.ACCT_GW"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.ACCT_GW_APP_STATUS"
|
||||
, "exchanges": [
|
||||
"SIM_COINBASE"
|
||||
]
|
||||
}
|
||||
, "quant": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.QUANT"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.QUANT_MUSVC_STATUS"
|
||||
}
|
||||
, "trader": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.TRADER"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.TRADER_MUSVC_STATUS"
|
||||
}
|
||||
, "bookkeeper": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.BKPR"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.BKPR_MUSVC_STATUS"
|
||||
, "db": {
|
||||
"server_type": "timescale",
|
||||
"cred_key": "TSDB_TRADING_CVTT_TESTDB"
|
||||
}
|
||||
}
|
||||
, "risk_manager": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.RMGR"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.RMGR_MUSVC_STATUS"
|
||||
, "revalue_interval_sec": 10.5
|
||||
}
|
||||
, "pricer": {
|
||||
"channel_prefix": "${GLOBAL_CHANNEL_PREFIX}.PXER"
|
||||
, "app_status_channel": "${GLOBAL_CHANNEL_PREFIX}.PXER_MUSVC_STATUS"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,80 @@
|
||||
# ===============================================================================
|
||||
# REAL TIME SIMULATOR
|
||||
# (no Market Data)
|
||||
# ===============================================================================
|
||||
# Environment setting example
|
||||
# SIM_ORDER_ENTRY_WS_PORT=28081
|
||||
# SIM_ORDER_ENTRY_REST_PORT=28082
|
||||
# SIM_ACCOUNTING_REST_PORT=28083
|
||||
|
||||
# simulation/market_simulator -> "" (root)
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata ,# tetsetraefafd
|
||||
"initial_positions": {
|
||||
"exchange": "COINBASE",
|
||||
"assets": {
|
||||
"ADA": 40000.0,
|
||||
"BTC": 0.1,
|
||||
"ETH": 5.0,
|
||||
"USD": 10000.0
|
||||
}
|
||||
},
|
||||
"market_data": {
|
||||
# NOT USED HERE. Use Direct Market data via MDGW
|
||||
}
|
||||
"order_entry": {
|
||||
"api": {
|
||||
"web_socket": {
|
||||
"url": "ws://localhost:@env{SIM_ORDER_ENTRY_WS_PORT}/ws"
|
||||
},
|
||||
"REST": {
|
||||
"port": @env{SIM_ORDER_ENTRY_REST_PORT},
|
||||
"base_url": "http://localhost:@env{SIM_ORDER_ENTRY_REST_PORT}",
|
||||
"endpoints": {
|
||||
"new_order": ["POST", "/order"],
|
||||
"cancel_order": ["POST", "/cancel"],
|
||||
"cancel_all": ["GET", "/cancel_all"],
|
||||
"open_orders": ["GET", "/open_orders"],
|
||||
"order_status": ["GET", "/order_status"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"execution": {
|
||||
"fast": { # formerly known as --debug_mode in OEGW; use --fast_exec_mode in CL
|
||||
"partial_fill_wait_sec": 5,
|
||||
"full_fill_wait_sec": 5.0,
|
||||
"fee_rate": 0.006
|
||||
},
|
||||
"on_market_data": { ## DEFAULT METHOD
|
||||
"execute_on": [
|
||||
"BOOK_TOP",
|
||||
"TRADES"
|
||||
],
|
||||
"subscribe_instruments": [
|
||||
{"exch_acct": "COINBASE_AT", "instrument_id": "PAIR-BTC-USD"},
|
||||
{"exch_acct": "COINBASE_AT", "instrument_id": "PAIR-ETH-USD"}
|
||||
]
|
||||
"top_only": true,
|
||||
"pricing_method": "BY_MKT_TRD_PRICE_BY_TRADE",
|
||||
"min_order_age_sec": 0.1,
|
||||
"fee_schedule": {
|
||||
"taker_fee_rate": 0.006,
|
||||
"maker_fee_rate": 0.004
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
"accounting": {
|
||||
"exch_acct": "COINBASE_AT",
|
||||
"api": {
|
||||
"REST": {
|
||||
"port": @env{SIM_ACCOUNTING_REST_PORT},
|
||||
"base_url": "http://localhost:@env{SIM_ACCOUNTING_REST_PORT}",
|
||||
"endpoints": {
|
||||
"positions": ["GET", "/positions"],
|
||||
"trades": ["GET", "/trades"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"model_class": "cvttpy_apps.apps.stat_pairs.lib.models.VECMModel"
|
||||
, "model_name": "VECM-2H"
|
||||
, "stat_model_price": "close"
|
||||
, "training_window_hours": 2
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
|
||||
"app_name": "@env{APP_NAME}",
|
||||
"app_type": "STAT_PAIR_QUANT",
|
||||
|
||||
# =========== API ============
|
||||
"api": {
|
||||
"REST": {
|
||||
"host": @env{SP_QUANT_REST_HOST}
|
||||
, "port": @env{SP_QUANT_REST_PORT}
|
||||
, "proto": "http"
|
||||
}
|
||||
},
|
||||
|
||||
"interval_sec": 60,
|
||||
"loop_interval_sec": 60.0,
|
||||
|
||||
# ====== Model =======
|
||||
"model": @inc=http://@env{CONFIG_SERVICE}/apps/stat_pairs/models/vecm
|
||||
|
||||
# ====== Instrument Validation =======
|
||||
, "instrument_validation": {
|
||||
"market_data_sufficiency": {
|
||||
"maximum_gap_size": "5.0%",
|
||||
"maximum_data_missing": "20.0%",
|
||||
"maximum_latency_sec": 30
|
||||
}
|
||||
},
|
||||
# ====== Trading Analysis =======
|
||||
"analysis": {
|
||||
"entry_diseq": 2.0,
|
||||
"exit_diseq": 0.5,
|
||||
"full_entry_diseq": 3.0,
|
||||
"min_target_strength": 0.4,
|
||||
"mode": "beta-aware"
|
||||
},
|
||||
# ====== Front Gateway ==========
|
||||
"cvtt_fgw": {
|
||||
"REST": {
|
||||
"base_url": "@env{FGW_BASE_URL}",
|
||||
"endpoints": {
|
||||
"register": ["POST", "/app_register"]
|
||||
"app_list": ["GET", "/app_list"]
|
||||
"heartbeat": ["GET", "/app_hb"],
|
||||
"md_history": ["POST", "/md_summary"],
|
||||
"trading_instructions": ["POST", "/trading_instructions"],
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,191 @@
|
||||
{
|
||||
"refdata": @inc=http://@env{CONFIG_SERVICE}/refdata/refdata
|
||||
|
||||
# "app_name": "STAT_PAIR_SELECTOR-TST",
|
||||
"app_name": "@env{APP_NAME}"
|
||||
"app_type": "STAT_PAIRS_SELECTOR"
|
||||
|
||||
, "interval_sec": 60
|
||||
, "history_depth_hours": 26
|
||||
|
||||
, "rerun_interval": 300
|
||||
|
||||
, "model": @inc=http://@env{CONFIG_SERVICE}/apps/stat_pairs/models/vecm
|
||||
, "instrument_validation": {
|
||||
"market_data_sufficiency": {
|
||||
"maximum_gap_size": "2.0%",
|
||||
"maximum_data_missing": "20.0%"
|
||||
}
|
||||
}
|
||||
, "mr_evaluation": {
|
||||
"mr_speed_tau": 60,
|
||||
"stationarity_pvalue_max": 0.05,
|
||||
"stability_window": 360,
|
||||
"stability_step": 60,
|
||||
"stability_sensitivity": 0.5,
|
||||
"score_weights": {
|
||||
"speed": 0.3
|
||||
, "stationarity": 0.4
|
||||
, "stability": 0.3
|
||||
},
|
||||
"warnings_marks": {
|
||||
"stationarity": 0.3
|
||||
"stability": 0.3
|
||||
},
|
||||
"total_score_weights": {
|
||||
"liquidity": 0.5,
|
||||
"mr_geometric": 0.5,
|
||||
"mr_arithmetic": 0
|
||||
}
|
||||
}
|
||||
, "cvtt_fgw": {
|
||||
"REST": {
|
||||
# "base_url": "http://cld32-tester.cvtt.vpn:23456",
|
||||
"base_url": "@env{FGW_BASE_URL}",
|
||||
"endpoints": {
|
||||
"register": ["POST", "/app_register"]
|
||||
"heartbeat": ["GET", "/app_hb"],
|
||||
"md_history": ["POST", "/md_summary"]
|
||||
},
|
||||
},
|
||||
}
|
||||
, "api": {
|
||||
"REST": {
|
||||
"host": @env{PAIR_SELECTOR_REST_HOST}
|
||||
, "port": @env{PAIR_SELECTOR_REST_PORT}
|
||||
, "proto": "http"
|
||||
}
|
||||
}
|
||||
# ====== Instruments =======
|
||||
, "instruments": [
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-ADA-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-AVAX-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-BCH-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-BNB-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-BTC-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-DOGE-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-DOT-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-ETH-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-HBAR-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-LINK-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-LTC-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-SHIB-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-SOL-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-SUI-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-XLM-USD"
|
||||
},
|
||||
{
|
||||
"exch_acct": "COINBASE_AT"
|
||||
, "instrument_id": "PAIR-XRP-USD"
|
||||
}
|
||||
# =====================================================================
|
||||
# {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-ADA-USDT"
|
||||
# }
|
||||
# , {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-AVAX-USDT"
|
||||
# }
|
||||
# , {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-BCH-USDT"
|
||||
# }
|
||||
# , {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-BNB-USDT"
|
||||
# }
|
||||
# , {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-BTC-USDT"
|
||||
# }
|
||||
# , {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-DOGE-USDT"
|
||||
# }
|
||||
# , {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-DOT-USDT"
|
||||
# }
|
||||
# , {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-ETH-USDT"
|
||||
# }
|
||||
# , {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-HBAR-USDT"
|
||||
# }
|
||||
# , {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-LINK-USDT"
|
||||
# }
|
||||
# , {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-LTC-USDT"
|
||||
# }
|
||||
# , {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-SHIB-USDT"
|
||||
# }
|
||||
# , {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-SOL-USDT"
|
||||
# }
|
||||
# , {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-SUI-USDT"
|
||||
# }
|
||||
# , {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-XLM-USDT"
|
||||
# }
|
||||
# , {
|
||||
# "exch_acct": "BNBSPOT"
|
||||
# , "instrument_id": "PAIR-XRP-USDT"
|
||||
# }
|
||||
]
|
||||
}
|
||||
+167
-2
@@ -1,17 +1,182 @@
|
||||
{
|
||||
"USD": {
|
||||
"name": "USA Dollar",
|
||||
"pricing": {
|
||||
"method": "fixed"
|
||||
, "value": 1.0
|
||||
}
|
||||
, "qty_precision": "0.01"
|
||||
}
|
||||
"BTC": {
|
||||
"pricing": {
|
||||
, "ADA": {
|
||||
"name": "Cardano"
|
||||
, "image": {
|
||||
}
|
||||
, "pricing": {
|
||||
"method": "exch_inst"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instrument_id": "PAIR-ADA-USD"
|
||||
}
|
||||
, "qty_precision": "0.01"
|
||||
}
|
||||
, "AVAX": {
|
||||
"name": "Avalanche"
|
||||
, "image": {
|
||||
}
|
||||
, "pricing": {
|
||||
"method": "exch_inst"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instrument_id": "PAIR-AVAX-USD"
|
||||
}
|
||||
, "qty_precision": "0.00000001"
|
||||
}
|
||||
, "BCH": {
|
||||
"name": "Bitcoin Cash"
|
||||
, "image": {
|
||||
}
|
||||
, "pricing": {
|
||||
"method": "exch_inst"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instrument_id": "PAIR-BCH-USD"
|
||||
}
|
||||
, "qty_precision": "0.00000001"
|
||||
}
|
||||
, "BTC": {
|
||||
"name": "Bitcoin"
|
||||
, "image": {
|
||||
}
|
||||
, "pricing": {
|
||||
"method": "exch_inst"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instrument_id": "PAIR-BTC-USD"
|
||||
}
|
||||
, "qty_precision": "0.00000001"
|
||||
}
|
||||
, "DOGE": {
|
||||
"name": "Dogecoin"
|
||||
, "image": {
|
||||
}
|
||||
, "pricing": {
|
||||
"method": "exch_inst"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instrument_id": "PAIR-DOGE-USD"
|
||||
}
|
||||
, "qty_precision": "0.1"
|
||||
}
|
||||
, "DOT": {
|
||||
"name": "Polkadot"
|
||||
, "image": {
|
||||
}
|
||||
, "pricing": {
|
||||
"method": "exch_inst"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instrument_id": "PAIR-DOT-USD"
|
||||
}
|
||||
, "qty_precision": "0.00000001"
|
||||
}
|
||||
, "ETH": {
|
||||
"name": "Ethereum"
|
||||
, "image": {
|
||||
}
|
||||
, "pricing": {
|
||||
"method": "exch_inst"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instrument_id": "PAIR-ETH-USD"
|
||||
}
|
||||
, "qty_precision": "0.00000001"
|
||||
}
|
||||
, "HBAR": {
|
||||
"name": "Hedera"
|
||||
, "image": {
|
||||
}
|
||||
, "pricing": {
|
||||
"method": "exch_inst"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instrument_id": "PAIR-HBAR-USD"
|
||||
}
|
||||
, "qty_precision": "0.1"
|
||||
}
|
||||
, "LINK": {
|
||||
"name": "Chainlink"
|
||||
, "image": {
|
||||
# TBD
|
||||
}
|
||||
, "pricing": {
|
||||
"method": "exch_inst"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instrument_id": "PAIR-LINK-USD"
|
||||
}
|
||||
, "qty_precision": "0.01"
|
||||
}
|
||||
, "LTC": {
|
||||
"name": "Litecoin"
|
||||
, "image": {
|
||||
# TBD
|
||||
}
|
||||
, "pricing": {
|
||||
"method": "exch_inst"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instrument_id": "PAIR-LTC-USD"
|
||||
}
|
||||
, "qty_precision": "0.00000001"
|
||||
}
|
||||
, "SHIB": {
|
||||
"name": "SHIBA INU"
|
||||
, "image": {
|
||||
# TBD
|
||||
}
|
||||
, "pricing": {
|
||||
"method": "exch_inst"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instrument_id": "PAIR-SHIB-USD"
|
||||
}
|
||||
, "qty_precision": "1"
|
||||
}
|
||||
, "SOL": {
|
||||
"name": "Solana"
|
||||
, "image": {
|
||||
# TBD
|
||||
}
|
||||
, "pricing": {
|
||||
"method": "exch_inst"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instrument_id": "PAIR-SOL-USD"
|
||||
}
|
||||
, "qty_precision": "0.00000001"
|
||||
}
|
||||
, "SUI": {
|
||||
"name": "SUI"
|
||||
, "image": {
|
||||
# TBD
|
||||
}
|
||||
, "pricing": {
|
||||
"method": "exch_inst"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instrument_id": "PAIR-SUI-USD"
|
||||
}
|
||||
, "qty_precision": "0.1"
|
||||
}
|
||||
, "XLM": {
|
||||
"name": "Stellar Lumens"
|
||||
, "image": {
|
||||
# TBD
|
||||
}
|
||||
, "pricing": {
|
||||
"method": "exch_inst"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instrument_id": "PAIR-XLM-USD"
|
||||
}
|
||||
, "qty_precision": "0.00000001"
|
||||
}
|
||||
, "XRP": {
|
||||
"name": "XRP"
|
||||
, "image": {
|
||||
# TBD
|
||||
}
|
||||
, "pricing": {
|
||||
"method": "exch_inst"
|
||||
, "exchange_id": "COINBASE"
|
||||
, "instrument_id": "PAIR-XRP-USD"
|
||||
}
|
||||
, "qty_precision": "0.000001"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,10 +35,6 @@
|
||||
}
|
||||
, "BNBSPOT": {
|
||||
"instruments": {
|
||||
"PAIR-AAVE-BUSD": {
|
||||
"md_symbol": "AAVEBUSD",
|
||||
"trade_symbol": "AAVEBUSD"
|
||||
},
|
||||
"PAIR-ADA-USDT": {
|
||||
"md_symbol": "ADAUSDT",
|
||||
"trade_symbol": "ADAUSDT"
|
||||
@@ -47,30 +43,18 @@
|
||||
"md_symbol": "AVAXUSDT",
|
||||
"trade_symbol": "AVAXUSDT"
|
||||
},
|
||||
"PAIR-BCH-BUSD": {
|
||||
"md_symbol": "BCHBUSD",
|
||||
"trade_symbol": "BCHBUSD"
|
||||
},
|
||||
"PAIR-BCH-USDT": {
|
||||
"md_symbol": "BCHUSDT",
|
||||
"trade_symbol": "BCHUSDT"
|
||||
},
|
||||
"PAIR-BTC-BUSD": {
|
||||
"md_symbol": "BTCBUSD",
|
||||
"trade_symbol": "BTCBUSD"
|
||||
"PAIR-BNB-USDT": {
|
||||
"md_symbol": "BNBUSDT",
|
||||
"trade_symbol": "BNBUSDT"
|
||||
},
|
||||
"PAIR-BTC-USDT": {
|
||||
"md_symbol": "BTCUSDT",
|
||||
"trade_symbol": "BTCUSDT"
|
||||
},
|
||||
"PAIR-BUSD-USDT": {
|
||||
"md_symbol": "BUSDUSDT",
|
||||
"trade_symbol": "BUSDUSDT"
|
||||
},
|
||||
"PAIR-DOGE-BUSD": {
|
||||
"md_symbol": "DOGEBUSD",
|
||||
"trade_symbol": "DOGEBUSD"
|
||||
},
|
||||
"PAIR-DOGE-USDT": {
|
||||
"md_symbol": "DOGEUSDT",
|
||||
"trade_symbol": "DOGEUSDT"
|
||||
@@ -79,10 +63,6 @@
|
||||
"md_symbol": "DOTUSDT",
|
||||
"trade_symbol": "DOTUSDT"
|
||||
},
|
||||
"PAIR-ETH-BUSD": {
|
||||
"md_symbol": "ETHBUSD",
|
||||
"trade_symbol": "ETHBUSD"
|
||||
},
|
||||
"PAIR-ETH-USD": {
|
||||
"md_symbol": "ETHUSD",
|
||||
"trade_symbol": "ETHUSD"
|
||||
@@ -91,18 +71,14 @@
|
||||
"md_symbol": "ETHUSDT",
|
||||
"trade_symbol": "ETHUSDT"
|
||||
},
|
||||
"PAIR-LINK-BUSD": {
|
||||
"md_symbol": "LINKBUSD",
|
||||
"trade_symbol": "LINKBUSD"
|
||||
"PAIR-HBAR-USDT": {
|
||||
"md_symbol": "HBARUSDT",
|
||||
"trade_symbol": "HBARUSDT"
|
||||
},
|
||||
"PAIR-LINK-USDT": {
|
||||
"md_symbol": "LINKUSDT",
|
||||
"trade_symbol": "LINKUSDT"
|
||||
},
|
||||
"PAIR-LTC-BUSD": {
|
||||
"md_symbol": "LTCBUSD",
|
||||
"trade_symbol": "LTCBUSD"
|
||||
},
|
||||
"PAIR-LTC-USDT": {
|
||||
"md_symbol": "LTCUSDT",
|
||||
"trade_symbol": "LTCUSDT"
|
||||
@@ -111,34 +87,34 @@
|
||||
"md_symbol": "LTCUSD",
|
||||
"trade_symbol": "LTCUSD"
|
||||
},
|
||||
"PAIR-MATIC-BUSD": {
|
||||
"md_symbol": "MATICBUSD",
|
||||
"trade_symbol": "MATICBUSD"
|
||||
},
|
||||
"PAIR-MATIC-USDT": {
|
||||
"md_symbol": "MATICUSDT",
|
||||
"trade_symbol": "MATICUSDT"
|
||||
},
|
||||
"PAIR-SHIB-USDT": {
|
||||
"md_symbol": "SHIBUSDT",
|
||||
"trade_symbol": "SHIBUSDT"
|
||||
},
|
||||
"PAIR-SOL-USDT": {
|
||||
"md_symbol": "SOLUSDT",
|
||||
"trade_symbol": "SOLUSDT"
|
||||
},
|
||||
"PAIR-UNI-BUSD": {
|
||||
"md_symbol": "UNIBUSD",
|
||||
"trade_symbol": "UNIBUSD"
|
||||
"PAIR-SUI-USDT": {
|
||||
"md_symbol": "SUIUSDT",
|
||||
"trade_symbol": "SUIUSDT"
|
||||
},
|
||||
"PAIR-USDC-USDT": {
|
||||
"md_symbol": "USDCUSDT",
|
||||
"trade_symbol": "USDCUSDT"
|
||||
},
|
||||
"PAIR-XLM-USDT": {
|
||||
"md_symbol": "XLMUSDT",
|
||||
"trade_symbol": "XLMUSDT"
|
||||
},
|
||||
"PAIR-XRP-BTC": {
|
||||
"md_symbol": "XRPBTC",
|
||||
"trade_symbol": "XRPBTC"
|
||||
},
|
||||
"PAIR-XRP-BUSD": {
|
||||
"md_symbol": "XRPBUSD",
|
||||
"trade_symbol": "XRPBUSD"
|
||||
},
|
||||
"PAIR-XRP-USDT": {
|
||||
"md_symbol": "XRPUSDT",
|
||||
"trade_symbol": "XRPUSDT"
|
||||
@@ -159,10 +135,6 @@
|
||||
"md_symbol": "BCHUSDT"
|
||||
, "trade_symbol": "BCHUSDT"
|
||||
}
|
||||
, "PERP-BTC-BUSD": {
|
||||
"md_symbol": "BTCBUSD"
|
||||
, "trade_symbol": "BTCBUSD"
|
||||
}
|
||||
, "PERP-BTC-USDT": {
|
||||
"md_symbol": "BTCUSDT"
|
||||
, "trade_symbol": "BTCUSDT"
|
||||
@@ -171,26 +143,14 @@
|
||||
"md_symbol": "DOGEUSDT"
|
||||
, "trade_symbol": "DOGEUSDT"
|
||||
}
|
||||
, "PERP-ETH-BUSD": {
|
||||
"md_symbol": "ETHBUSD"
|
||||
, "trade_symbol": "ETHBUSD"
|
||||
},
|
||||
"PERP-ETH-USDT": {
|
||||
"md_symbol": "ETHUSDT"
|
||||
, "trade_symbol": "ETHUSDT"
|
||||
}
|
||||
, "PERP-LINK-BUSD": {
|
||||
"md_symbol": "LINKBUSD"
|
||||
, "trade_symbol": "LINKBUSD"
|
||||
}
|
||||
, "PERP-LINK-USDT": {
|
||||
"md_symbol": "LINKUSDT"
|
||||
, "trade_symbol": "LINKUSDT"
|
||||
}
|
||||
, "PERP-LTC-BUSD": {
|
||||
"md_symbol": "LTCBUSD"
|
||||
, "trade_symbol": "LTCBUSD"
|
||||
}
|
||||
, "PERP-LTC-USDT": {
|
||||
"md_symbol": "LTCUSDT"
|
||||
, "trade_symbol": "LTCUSDT"
|
||||
@@ -199,14 +159,6 @@
|
||||
"md_symbol": "MATICUSDT"
|
||||
, "trade_symbol": "MATICUSDT"
|
||||
}
|
||||
, "PERP-SOL-BUSD": {
|
||||
"md_symbol": "SOLBUSD"
|
||||
, "trade_symbol": "SOLBUSD"
|
||||
}
|
||||
, "PERP-UNI-BUSD": {
|
||||
"md_symbol": "UNIBUSD"
|
||||
, "trade_symbol": "UNIBUSD"
|
||||
}
|
||||
}
|
||||
}
|
||||
, "BNBSPOT_US": {
|
||||
@@ -247,10 +199,18 @@
|
||||
"md_symbol": "ADA-USD",
|
||||
"trade_symbol": "ADA-USD"
|
||||
},
|
||||
"PAIR-AVAX-USD": {
|
||||
"md_symbol": "AVAX-USD",
|
||||
"trade_symbol": "AVAX-USD"
|
||||
},
|
||||
"PAIR-BCH-USD": {
|
||||
"md_symbol": "BCH-USD",
|
||||
"trade_symbol": "BCH-USD"
|
||||
},
|
||||
"PAIR-BNB-USD": {
|
||||
"md_symbol": "BNB-USD",
|
||||
"trade_symbol": "BNB-USD"
|
||||
},
|
||||
"PAIR-BTC-USD": {
|
||||
"md_symbol": "BTC-USD",
|
||||
"trade_symbol": "BTC-USD"
|
||||
@@ -267,6 +227,10 @@
|
||||
"md_symbol": "ETH-USD",
|
||||
"trade_symbol": "ETH-USD"
|
||||
},
|
||||
"PAIR-HBAR-USD": {
|
||||
"md_symbol": "HBAR-USD",
|
||||
"trade_symbol": "HBAR-USD"
|
||||
},
|
||||
"PAIR-LINK-USD": {
|
||||
"md_symbol": "LINK-USD",
|
||||
"trade_symbol": "LINK-USD"
|
||||
@@ -275,18 +239,18 @@
|
||||
"md_symbol": "LTC-USD",
|
||||
"trade_symbol": "LTC-USD"
|
||||
},
|
||||
"PAIR-MATIC-USD": {
|
||||
"md_symbol": "MATIC-USD",
|
||||
"trade_symbol": "MATIC-USD"
|
||||
},
|
||||
"PAIR-MPL-USD": {
|
||||
"md_symbol": "MPL-USD",
|
||||
"trade_symbol": "MPL-USD"
|
||||
"PAIR-SHIB-USD": {
|
||||
"md_symbol": "SHIB-USD",
|
||||
"trade_symbol": "SHIB-USD"
|
||||
},
|
||||
"PAIR-SOL-USD": {
|
||||
"md_symbol": "SOL-USD",
|
||||
"trade_symbol": "SOL-USD"
|
||||
},
|
||||
"PAIR-SUI-USD": {
|
||||
"md_symbol": "SUI-USD",
|
||||
"trade_symbol": "SUI-USD"
|
||||
},
|
||||
"PAIR-UNI-USD": {
|
||||
"md_symbol": "UNI-USD",
|
||||
"trade_symbol": "UNI-USD"
|
||||
@@ -295,6 +259,10 @@
|
||||
"md_symbol": "USDT-USD",
|
||||
"trade_symbol": "USDT-USD"
|
||||
},
|
||||
"PAIR-XLM-USD": {
|
||||
"md_symbol": "XLM-USD",
|
||||
"trade_symbol": "XLM-USD"
|
||||
},
|
||||
"PAIR-XRP-USD": {
|
||||
"md_symbol": "XRP-USD",
|
||||
"trade_symbol": "XRP-USD"
|
||||
@@ -302,22 +270,8 @@
|
||||
}
|
||||
}
|
||||
, "COINBASE-FUT": {
|
||||
"instruments": {}
|
||||
, "dynamic_instruments": {
|
||||
# dynamically created instruments (futures)
|
||||
"credentials_key": "COINBASE_ADV_RO"
|
||||
"class": "cvttpy_trading.exchanges.coinbase.futures.market.InstrumentLoader"
|
||||
, "api": {
|
||||
"REST": {
|
||||
"products_method": "GET"
|
||||
, "products_url": "https://api.coinbase.com/api/v3/brokerage/products"
|
||||
, "futures_params": {
|
||||
"product_type": "FUTURE"
|
||||
, "contract_expiry_type": "EXPIRING"
|
||||
, "expiring_contract_status": "STATUS_UNEXPIRED"
|
||||
}
|
||||
}
|
||||
}
|
||||
"instruments": {
|
||||
# DYNAMIC INSTRUMENTS ONLY
|
||||
}
|
||||
}
|
||||
, "GEMINI": {
|
||||
@@ -331,118 +285,14 @@
|
||||
}
|
||||
}
|
||||
# --- PERPs
|
||||
, "PERP-BTC-GUSD": {
|
||||
"md_symbol": "BTCGUSDPERP",
|
||||
"trade_symbol": "BTCGUSDPERP",
|
||||
"base_asset": "BTCGUSDPERP",
|
||||
"specifics": {
|
||||
"quote_increment": 0.5,
|
||||
}
|
||||
}
|
||||
# "PERP-BNB-GUSD": {
|
||||
# "md_symbol": "BNBGUSDPERP",
|
||||
# "trade_symbol": "BNBGUSDPERP",
|
||||
# "base_asset": "BNBGUSDPERP",
|
||||
# , "PERP-BTC-GUSD": {
|
||||
# "md_symbol": "BTCGUSDPERP",
|
||||
# "trade_symbol": "BTCGUSDPERP",
|
||||
# "base_asset": "BTCGUSDPERP",
|
||||
# "specifics": {
|
||||
# "quote_increment": 0.5,
|
||||
# }
|
||||
# },
|
||||
# "PERP-ETH-GUSD": {
|
||||
# "md_symbol": "ETHGUSDPERP",
|
||||
# "trade_symbol": "ETHGUSDPERP",
|
||||
# "base_asset": "ETHGUSDPERP",
|
||||
# "specifics": {
|
||||
# "quote_increment": 0.5,
|
||||
# }
|
||||
# },
|
||||
# "PERP-PEPE-GUSD": {
|
||||
# "md_symbol": "PEPEGUSDPERP",
|
||||
# "trade_symbol": "PEPEGUSDPERP",
|
||||
# "base_asset": "PEPEGUSDPERP",
|
||||
# "specifics": {
|
||||
# "quote_increment": 0.5,
|
||||
# }
|
||||
# },
|
||||
# "PERP-XRP-GUSD": {
|
||||
# "md_symbol": "XRPGUSDPERP",
|
||||
# "trade_symbol": "XRPGUSDPERP",
|
||||
# "base_asset": "XRPGUSDPERP",
|
||||
# "specifics": {
|
||||
# "quote_increment": 0.5,
|
||||
# }
|
||||
# },
|
||||
# "PERP-SOL-GUSD": {
|
||||
# "md_symbol": "SOLGUSDPERP",
|
||||
# "trade_symbol": "SOLGUSDPERP",
|
||||
# "base_asset": "SOLGUSDPERP",
|
||||
# "specifics": {
|
||||
# "quote_increment": 0.5,
|
||||
# }
|
||||
# },
|
||||
# "PERP-MATIC-GUSD": {
|
||||
# "md_symbol": "MATICGUSDPERP",
|
||||
# "trade_symbol": "MATICGUSDPERP",
|
||||
# "base_asset": "MATICGUSDPERP",
|
||||
# "specifics": {
|
||||
# "quote_increment": 0.5,
|
||||
# }
|
||||
# },
|
||||
# "PERP-DOGE-GUSD": {
|
||||
# "md_symbol": "DOGEGUSDPERP",
|
||||
# "trade_symbol": "DOGEGUSDPERP",
|
||||
# "base_asset": "DOGEGUSDPERP",
|
||||
# "specifics": {
|
||||
# "quote_increment": 0.5,
|
||||
# }
|
||||
# },
|
||||
# "PERP-DOT-GUSD": {
|
||||
# "md_symbol": "DOTGUSDPERP",
|
||||
# "trade_symbol": "DOTGUSDPERP",
|
||||
# "base_asset": "DOTGUSDPERP",
|
||||
# "specifics": {
|
||||
# "quote_increment": 0.5,
|
||||
# }
|
||||
# },
|
||||
# "PERP-AVAX-GUSD": {
|
||||
# "md_symbol": "AVAXGUSDPERP",
|
||||
# "trade_symbol": "AVAXGUSDPERP",
|
||||
# "base_asset": "AVAXGUSDPERP",
|
||||
# "specifics": {
|
||||
# "quote_increment": 0.5,
|
||||
# }
|
||||
# },
|
||||
# "PERP-LTC-GUSD": {
|
||||
# "md_symbol": "LTCGUSDPERP",
|
||||
# "trade_symbol": "LTCGUSDPERP",
|
||||
# "base_asset": "LTCGUSDPERP",
|
||||
# "specifics": {
|
||||
# "quote_increment": 0.5,
|
||||
# }
|
||||
# },
|
||||
# "PERP-INJ-GUSD": {
|
||||
# "md_symbol": "INJGUSDPERP",
|
||||
# "trade_symbol": "INJGUSDPERP",
|
||||
# "base_asset": "INJGUSDPERP",
|
||||
# "specifics": {
|
||||
# "quote_increment": 0.5,
|
||||
# }
|
||||
# },
|
||||
# "PERP-LINK-GUSD": {
|
||||
# "md_symbol": "LINKGUSDPERP",
|
||||
# "trade_symbol": "LINKGUSDPERP",
|
||||
# "base_asset": "LINKGUSDPERP",
|
||||
# "specifics": {
|
||||
# "quote_increment": 0.5,
|
||||
# }
|
||||
# },
|
||||
# "PERP-WIF-GUSD": {
|
||||
# "md_symbol": "WIFGUSDPERP",
|
||||
# "trade_symbol": "WIFGUSDPERP",
|
||||
# "base_asset": "WIFGUSDPERP",
|
||||
# "specifics": {
|
||||
# "quote_increment": 0.5,
|
||||
# }
|
||||
# },
|
||||
# }
|
||||
}
|
||||
}
|
||||
, "KRAKEN": {
|
||||
|
||||
+127
-104
@@ -1,13 +1,60 @@
|
||||
@var DatabaseHost=cryptoval1.cvtt.vpn
|
||||
# @var DatabaseHost=cryptoval1.sheynin.home
|
||||
{
|
||||
"__DUMMY__": {}
|
||||
"__TRADING_SIMULATOR__": {
|
||||
# ------ VALUES TO BE REPLACED
|
||||
# "exchange_id": "COINBASE"
|
||||
# , "name": "Coinbase AT (Simulated)"
|
||||
# , "type": "SPOT"
|
||||
# , "quote_asset": "USD"
|
||||
|
||||
# Environment setting example
|
||||
# ------------------------------------
|
||||
# SIM_ORDER_ENTRY_WS_PORT=28081
|
||||
# SIM_ORDER_ENTRY_REST_PORT=28082
|
||||
# SIM_ACCOUNTING_REST_PORT=28083
|
||||
# SIM_HOST=rt_simulator # for **docker compose** service rt_simulator
|
||||
"exchange_id": "__SIM-EXCHANGE-ID-PLACEHOLDER__"
|
||||
"mktdata" : {
|
||||
#
|
||||
"class": "cvttpy_trading.exchanges.mkt_simulator.md_client.DisabledRtSimulatorMdFeed"
|
||||
},
|
||||
"order_entry": {
|
||||
"class": "cvttpy_trading.exchanges.mkt_simulator.oe_client.MarketSimulatorOEClient"
|
||||
|
||||
, "api": {
|
||||
"web_socket": {
|
||||
"url": "ws://@env{SIM_HOST}:@env{SIM_ORDER_ENTRY_WS_PORT}/ws"
|
||||
}
|
||||
, "REST": {
|
||||
"open_orders_url": ["GET", "http://@env{SIM_HOST}:@env{SIM_ORDER_ENTRY_REST_PORT}/open_orders"]
|
||||
, "order_status_url": ["GET", "http://@env{SIM_HOST}:@env{SIM_ORDER_ENTRY_REST_PORT}/order_status"]
|
||||
, "new_order_url": ["POST", "http://@env{SIM_HOST}:@env{SIM_ORDER_ENTRY_REST_PORT}/order"]
|
||||
, "cancel_order_url": ["POST", "http://@env{SIM_HOST}:@env{SIM_ORDER_ENTRY_REST_PORT}/cancel"]
|
||||
, "cancel_all_url": ["POST", "http://@env{SIM_HOST}:@env{SIM_ORDER_ENTRY_REST_PORT}/cancel_all"]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"accounting": {
|
||||
"class": "cvttpy_trading.exchanges.mkt_simulator.acct_client.MktSimAccounting"
|
||||
|
||||
, "api": {
|
||||
"REST": {
|
||||
"positions_url": ["GET", "http://@env{SIM_HOST}:@env{SIM_ACCOUNTING_REST_PORT}/positions"]
|
||||
, "trades_url": ["GET", "http://@env{SIM_HOST}:@env{SIM_ACCOUNTING_REST_PORT}/trades"]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
# ----------------------------- A
|
||||
, "ALPACA_PROD": {
|
||||
"ALPACA_PROD": {
|
||||
# https://docs.alpaca.markets/reference/
|
||||
"exchange_id": "ALPACA"
|
||||
, "name": "Alpaca Trading"
|
||||
, "type": "EQUITY"
|
||||
, "quote_asset": "USD"
|
||||
|
||||
, "order_entry": {
|
||||
"credentials_key": "ALPACA_PROD"
|
||||
@@ -87,8 +134,8 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "ALPACA_SNDBX": {
|
||||
},
|
||||
"ALPACA_SNDBX": {
|
||||
# https://docs.alpaca.markets/reference/
|
||||
"exchange_id": "ALPACA"
|
||||
, "name": "Alpaca Trading"
|
||||
@@ -173,9 +220,10 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
# ---------------------------- B
|
||||
, "BITSTAMP": {
|
||||
"BITSTAMP": {
|
||||
"exchange_id": "BITSTAMP"
|
||||
, "name": "Bitstamp"
|
||||
, "type": "SPOT"
|
||||
@@ -195,11 +243,14 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "BNBFUT": {
|
||||
},
|
||||
|
||||
"BNBFUT": {
|
||||
"exchange_id": "BNBFUT"
|
||||
, "name": "Binance Futures USD-M"
|
||||
, "type": "FUTURES"
|
||||
, "quote_asset": "USDT"
|
||||
|
||||
|
||||
, "mktdata" : {
|
||||
"class": "cvttpy_trading.exchanges.binance.futures.mkt_data.BnbFutMktDataFeed"
|
||||
@@ -224,12 +275,13 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
, "BNBSPOT": {
|
||||
},
|
||||
|
||||
"BNBSPOT": {
|
||||
"exchange_id": "BNBSPOT"
|
||||
, "name": "Binance Spot"
|
||||
, "type": "SPOT"
|
||||
, "quote_asset": "USDT"
|
||||
|
||||
, "mktdata" : {
|
||||
"class": "cvttpy_trading.exchanges.binance.spot.mkt_data.BnbSpotMktDataFeed"
|
||||
@@ -256,8 +308,9 @@
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
, "BNBSPOT_US": {
|
||||
},
|
||||
|
||||
"BNBSPOT_US": {
|
||||
"exchange_id": "BNBSPOT_US"
|
||||
, "name": "Binance.US"
|
||||
, "type": "SPOT"
|
||||
@@ -284,15 +337,17 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "COINBASE_AT": {
|
||||
},
|
||||
|
||||
# ---------------------------- C
|
||||
"COINBASE_AT": {
|
||||
"exchange_id": "COINBASE"
|
||||
, "name": "Coinbase Advanced Trade"
|
||||
, "type": "SPOT"
|
||||
, "quote_asset": "USD"
|
||||
|
||||
, "mktdata" : {
|
||||
"class": "cvttpy_trading.exchanges.coinbase.spot.mkt_data.CoinbaseSpotMdFeed"
|
||||
# "class": "cvttpy_trading.exchanges.coinbase.spot.mkt_data.CoinbaseMdFeed"
|
||||
|
||||
, "reconnect_secs": 2
|
||||
, "max_connections": 10
|
||||
@@ -335,13 +390,53 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
, "COINBASE_FUT": {
|
||||
},
|
||||
|
||||
"COINBASE_FUT": {
|
||||
"exchange_id": "COINBASE-FUT"
|
||||
, "name": "Coinbase Advanced Trade Futures"
|
||||
, "type": "FUTURES"
|
||||
, "quote_asset": "USDC"
|
||||
|
||||
, "dynamic_instruments": { # DEPRECATED, replaced by "instruments_upload" section
|
||||
# dynamically created instruments (perpetual/expiring futures)
|
||||
"class": "cvttpy_trading.exchanges.coinbase.futures.market.CoinbaseFutInstrumentLoader"
|
||||
"credentials_key": "COINBASE_ADV_RO"
|
||||
, "api": {
|
||||
"REST": {
|
||||
"products": {
|
||||
"method": "GET"
|
||||
, "url": "https://api.coinbase.com/api/v3/brokerage/products"
|
||||
, "params": {
|
||||
"product_type": "FUTURE"
|
||||
, "contract_expiry_type": "PERPETUAL"
|
||||
, "futures_underlying_type": "FUTURES_UNDERLYING_TYPE_SPOT"
|
||||
# , "contract_expiry_type": "EXPIRING" #
|
||||
# , "expiring_contract_status": "STATUS_UNEXPIRED"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "instruments_upload": {
|
||||
"class": "cvttpy_trading.exchanges.coinbase.futures.market.CoinbaseFutInstrumentLoader"
|
||||
"credentials_key": "COINBASE_ADV_RO"
|
||||
, "api": {
|
||||
"REST": {
|
||||
"products": {
|
||||
"method": "GET"
|
||||
, "url": "https://api.coinbase.com/api/v3/brokerage/products"
|
||||
, "params": {
|
||||
"product_type": "FUTURE"
|
||||
, "contract_expiry_type": "PERPETUAL"
|
||||
, "futures_underlying_type": "FUTURES_UNDERLYING_TYPE_SPOT"
|
||||
# , "contract_expiry_type": "EXPIRING" #
|
||||
# , "expiring_contract_status": "STATUS_UNEXPIRED"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
, "mktdata" : {
|
||||
"credentials_key": "COINBASE_ADV_TRD"
|
||||
"class": "cvttpy_trading.exchanges.coinbase.futures.mkt_data.CoinbaseFutMdFeed"
|
||||
@@ -351,17 +446,7 @@
|
||||
, "price_throttle": true
|
||||
|
||||
, "api": {
|
||||
"REST": {
|
||||
"products": {
|
||||
"method": "GET"
|
||||
, "url": "https://api.coinbase.com/api/v3/brokerage/products"
|
||||
, "params": {
|
||||
"product_type": "FUTURE"
|
||||
, "contract_expiry_type": "EXPIRING"
|
||||
, "expiring_contract_status": "STATUS_UNEXPIRED"
|
||||
}
|
||||
}
|
||||
},
|
||||
# for product/instrument REST settings see exchange_instruments.cfg (COINBASE-FUT)
|
||||
"web_socket": {
|
||||
"url": "wss://advanced-trade-ws.coinbase.com"
|
||||
}
|
||||
@@ -396,9 +481,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
# ---------------------------- G
|
||||
, "GEMINI": {
|
||||
"GEMINI": {
|
||||
# https://docs.gemini.com/rest-api
|
||||
"exchange_id": "GEMINI"
|
||||
, "name": "Gemini"
|
||||
@@ -418,9 +504,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
, "GEMINI-SNDBX": {
|
||||
},
|
||||
|
||||
"GEMINI-SNDBX": {
|
||||
# https://docs.gemini.com/rest-api
|
||||
"exchange_id": "GEMINI"
|
||||
, "name": "Gemini"
|
||||
@@ -481,9 +567,10 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
# ---------------------------- K
|
||||
, "KRAKEN": {
|
||||
"KRAKEN": {
|
||||
"exchange_id": "KRAKEN"
|
||||
, "name": "KRAKEN"
|
||||
, "type": "SPOT"
|
||||
@@ -506,9 +593,10 @@
|
||||
, "REST": {}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
# ---------------------------- O
|
||||
, "OKX": {
|
||||
"OKX": {
|
||||
"exchange_id": "OKX"
|
||||
, "name": "OKX"
|
||||
, "type": "SPOT"
|
||||
@@ -533,68 +621,3 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# , "ALPACA_SIM": {
|
||||
# # https://docs.alpaca.markets/reference/
|
||||
# "exchange_id": "ALPACA"
|
||||
# , "name": "Alpaca Trading"
|
||||
# , "type": "EQUITY"
|
||||
|
||||
|
||||
# , "mktdata" : {
|
||||
# "class": "cvttpy_trading.exchanges.mkt_simulator.md_client.MktSimMdClientFeed"
|
||||
# "ws_url": ["WS", "ws://localhost:10180/ws"]
|
||||
# }
|
||||
|
||||
# , "order_entry": {
|
||||
# "class": "cvttpy_trading.exchanges.mkt_simulator.oe_client.MarketSimulatorOEClient"
|
||||
|
||||
# , "REST": {
|
||||
# "new_order_url": ["POST", "http://localhost:10182/order"]
|
||||
# , "cancel_order_url": ["POST", "http://localhost:10182/cancel"]
|
||||
# , "cancel_all_url": ["POST", "http://localhost:10182/cancel_all"]
|
||||
# , "open_orders_url": ["GET", "http://localhost:10182/open_orders"]
|
||||
# , "order_status_url": ["GET", "http://localhost:10182/order_status"]
|
||||
# },
|
||||
# "ws_url": ["WSS", "ws://localhost:10181/ws"]
|
||||
# }
|
||||
# , "accounting": {
|
||||
# "class": "cvttpy_trading.exchanges.mkt_simulator.acct_client.MktSimAccounting"
|
||||
# , "REST": {
|
||||
# "positions_url": ["GET", "http://localhost:10083/positions"]
|
||||
# , "trades_url": ["GET", "http://localhost:10083/trades"]
|
||||
# }
|
||||
# }
|
||||
# }
|
||||
|
||||
# , "COINBASE_SIM": {
|
||||
# "exchange_id": "COINBASE"
|
||||
# , "name": "Coinbase Advanced Trade (Simulation)"
|
||||
# , "type": "SPOT"
|
||||
|
||||
|
||||
# , "mktdata" : {
|
||||
# "class": "cvttpy_trading.exchanges.mkt_simulator.md_client.MktSimMdClientFeed"
|
||||
# "ws_url": ["WS", "ws://localhost:8080/ws"]
|
||||
# }
|
||||
|
||||
# , "order_entry": {
|
||||
# "class": "cvttpy_trading.exchanges.mkt_simulator.oe_client.MarketSimulatorOEClient"
|
||||
|
||||
# , "REST": {
|
||||
# "new_order_url": ["POST", "http://localhost:8181/order"]
|
||||
# , "cancel_order_url": ["POST", "http://localhost:8181/cancel"]
|
||||
# , "cancel_all_url": ["POST", "http://localhost:8181/cancel_all"]
|
||||
# , "open_orders_url": ["GET", "http://localhost:8181/open_orders"]
|
||||
# , "order_status_url": ["GET", "http://localhost:8181/order_status"]
|
||||
# },
|
||||
# "ws_url": ["WSS", "ws://localhost:8180/ws"]
|
||||
# }
|
||||
# , "accounting": {
|
||||
# "class": "cvttpy_trading.exchanges.mkt_simulator.acct_client.MktSimAccounting"
|
||||
# , "REST": {
|
||||
# "positions_url": ["GET", "http://localhost:8182/positions"]
|
||||
# , "trades_url": ["GET", "http://localhost:8182/trades"]
|
||||
# }
|
||||
# }
|
||||
# }
|
||||
|
||||
+263
-288
@@ -1,510 +1,485 @@
|
||||
{
|
||||
# -------------------------------------- PAIRs
|
||||
# --- PAIR-A
|
||||
"PAIR-AAVE-BUSD": {
|
||||
"base_asset": "AAVE",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PAIR-AAVE-USD": {
|
||||
"base_asset": "AAVE",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PAIR-ADA-USD": {
|
||||
}
|
||||
, "PAIR-ADA-USD": {
|
||||
"base_asset": "ADA",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.1",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.0001
|
||||
},
|
||||
"PAIR-ADA-USDT": {
|
||||
}
|
||||
, "PAIR-ADA-USDT": {
|
||||
"base_asset": "ADA",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.1",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.0001
|
||||
},
|
||||
"PAIR-ASD-USDT": {
|
||||
}
|
||||
, "PAIR-ASD-USDT": {
|
||||
"base_asset": "ASD",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.0001",
|
||||
"contract_size": 1.0,
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PAIR-AVAX-BUSD": {
|
||||
"base_asset": "AVAX",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.00001",
|
||||
"price_tick": 0.00001
|
||||
},
|
||||
"PAIR-AVAX-USD": {
|
||||
}
|
||||
, "PAIR-AVAX-USD": {
|
||||
"base_asset": "AVAX",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.00001",
|
||||
"price_tick": 0.00001
|
||||
},
|
||||
"PAIR-AVAX-USDT": {
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.01
|
||||
}
|
||||
, "PAIR-AVAX-USDT": {
|
||||
"base_asset": "AVAX",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.00001",
|
||||
"price_tick": 0.00001
|
||||
},
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.01
|
||||
}
|
||||
# --- PAIR-B
|
||||
"PAIR-BCH-BUSD": {
|
||||
"base_asset": "BCH",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.1
|
||||
},
|
||||
"PAIR-BCH-USD": {
|
||||
, "PAIR-BCH-USD": {
|
||||
"base_asset": "BCH",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.1
|
||||
},
|
||||
"PAIR-BCH-USDT": {
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.01
|
||||
}
|
||||
, "PAIR-BCH-USDT": {
|
||||
"base_asset": "BCH",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.1
|
||||
},
|
||||
"PAIR-BTC-BUSD": {
|
||||
"base_asset": "BTC",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.1
|
||||
},
|
||||
"PAIR-BTC-MXN": {
|
||||
"base_asset": "BTC",
|
||||
"quote_asset": "MXN",
|
||||
"quantity_precision": "0.000001",
|
||||
"price_tick": 1
|
||||
},
|
||||
"PAIR-BTC-USD": {
|
||||
"price_tick": 0.01
|
||||
}
|
||||
, "PAIR-BNB-USD": {
|
||||
"base_asset": "BNB",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.00001",
|
||||
"price_tick": 0.01
|
||||
}
|
||||
, "PAIR-BNB-USDT": {
|
||||
"base_asset": "BNB",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.00001",
|
||||
"price_tick": 0.01
|
||||
}
|
||||
, "PAIR-BTC-USD": {
|
||||
"base_asset": "BTC",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PAIR-BTC-USDT": {
|
||||
}
|
||||
, "PAIR-BTC-USDT": {
|
||||
"base_asset": "BTC",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.1
|
||||
},
|
||||
"PAIR-BUSD-USDT": {
|
||||
"base_asset": "BUSD",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.0001",
|
||||
"price_tick": 0.0001
|
||||
},
|
||||
}
|
||||
# --- PAIR-D
|
||||
"PAIR-DOGE-BUSD": {
|
||||
"base_asset": "DOGE",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.00001
|
||||
},
|
||||
"PAIR-DOGE-USD": {
|
||||
, "PAIR-DOGE-USD": {
|
||||
"base_asset": "DOGE",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.01",
|
||||
"quantity_precision": "0.1",
|
||||
"price_tick": 0.00001
|
||||
},
|
||||
"PAIR-DOGE-USDT": {
|
||||
}
|
||||
, "PAIR-DOGE-USDT": {
|
||||
"base_asset": "DOGE",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.01",
|
||||
"quantity_precision": "0.1",
|
||||
"price_tick": 0.00001
|
||||
},
|
||||
"PAIR-DOT-USD": {
|
||||
}
|
||||
, "PAIR-DOT-USD": {
|
||||
"base_asset": "DOT",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.01",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.001
|
||||
},
|
||||
"PAIR-DOT-USDT": {
|
||||
}
|
||||
, "PAIR-DOT-USDT": {
|
||||
"base_asset": "DOT",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.01",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.001
|
||||
},
|
||||
}
|
||||
# --- PAIR-E
|
||||
"PAIR-ETH-BUSD": {
|
||||
"base_asset": "ETH",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.0001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PAIR-ETH-USD": {
|
||||
, "PAIR-ETH-USD": {
|
||||
"base_asset": "ETH",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.0001",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PAIR-ETH-USDT": {
|
||||
}
|
||||
, "PAIR-ETH-USDT": {
|
||||
"base_asset": "ETH",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.0001",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PAIR-EUR-GBP": {
|
||||
}
|
||||
, "PAIR-EUR-GBP": {
|
||||
"base_asset": "EUR",
|
||||
"quote_asset": "GBP",
|
||||
"quantity_precision": "0.00001",
|
||||
"price_tick": 0.00001
|
||||
},
|
||||
"PAIR-EUR-USD": {
|
||||
}
|
||||
, "PAIR-EUR-USD": {
|
||||
"base_asset": "EUR",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.00001",
|
||||
"price_tick": 0.00001
|
||||
},
|
||||
}
|
||||
# --- PAIR-G
|
||||
"PAIR-GENE-USDT": {
|
||||
, "PAIR-GENE-USDT": {
|
||||
"base_asset": "GENE",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.001
|
||||
},
|
||||
"PAIR-GBP-USD": {
|
||||
}
|
||||
, "PAIR-GBP-USD": {
|
||||
"base_asset": "GBP",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.00001",
|
||||
"price_tick": 0.00001
|
||||
},
|
||||
}
|
||||
# --- PAIR-H
|
||||
, "PAIR-HBAR-USD": {
|
||||
"base_asset": "HBAR",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.1",
|
||||
"price_tick": 0.00001
|
||||
}
|
||||
, "PAIR-HBAR-USDT": {
|
||||
"base_asset": "HBAR",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.1",
|
||||
"price_tick": 0.00001
|
||||
}
|
||||
# --- PAIR-L
|
||||
"PAIR-LINK-BUSD": {
|
||||
"base_asset": "LINK",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.001
|
||||
},
|
||||
"PAIR-LINK-USD": {
|
||||
, "PAIR-LINK-USD": {
|
||||
"base_asset": "LINK",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.001
|
||||
},
|
||||
"PAIR-LINK-USDT": {
|
||||
}
|
||||
, "PAIR-LINK-USDT": {
|
||||
"base_asset": "LINK",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.001
|
||||
},
|
||||
"PAIR-LTC-BUSD": {
|
||||
"base_asset": "LTC",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PAIR-LTC-USD": {
|
||||
}
|
||||
, "PAIR-LTC-USD": {
|
||||
"base_asset": "LTC",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.001",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PAIR-LTC-USDT": {
|
||||
}
|
||||
, "PAIR-LTC-USDT": {
|
||||
"base_asset": "LTC",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.001",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
}
|
||||
# --- PAIR-M
|
||||
"PAIR-MATIC-BUSD": {
|
||||
, "PAIR-MATIC-USD": {
|
||||
"base_asset": "MATIC",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.0001
|
||||
},
|
||||
"PAIR-MATIC-USD": {
|
||||
"base_asset": "MATIC",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.0001
|
||||
},
|
||||
"PAIR-MATIC-USDT": {
|
||||
}
|
||||
, "PAIR-MATIC-USDT": {
|
||||
"base_asset": "MATIC",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.0001
|
||||
},
|
||||
"PAIR-MPL-USD": {
|
||||
}
|
||||
, "PAIR-MPL-USD": {
|
||||
"base_asset": "MPL",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
}
|
||||
# --- PAIR-S
|
||||
"PAIR-SOL-BUSD": {
|
||||
"base_asset": "SOL",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PAIR-SOL-USD": {
|
||||
, "PAIR-SHIB-USD": {
|
||||
"base_asset": "SHIB",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "1",
|
||||
"price_tick": 0.00000001
|
||||
}
|
||||
, "PAIR-SHIB-USDT": {
|
||||
"base_asset": "SHIB",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "1",
|
||||
"price_tick": 0.00000001
|
||||
}
|
||||
, "PAIR-SOL-USD": {
|
||||
"base_asset": "SOL",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.001",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PAIR-SOL-USDT": {
|
||||
}
|
||||
, "PAIR-SOL-USDT": {
|
||||
"base_asset": "SOL",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.001",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
}
|
||||
, "PAIR-SUI-USD": {
|
||||
"base_asset": "SUI",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.1",
|
||||
"price_tick": 0.0001
|
||||
}
|
||||
, "PAIR-SUI-USDT": {
|
||||
"base_asset": "SUI",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.1",
|
||||
"price_tick": 0.0001
|
||||
}
|
||||
# --- PAIR-U
|
||||
"PAIR-UNI-BUSD": {
|
||||
"base_asset": "UNI",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PAIR-UNI-USD": {
|
||||
, "PAIR-UNI-USD": {
|
||||
"base_asset": "UNI",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PAIR-USD-JPY": {
|
||||
}
|
||||
, "PAIR-USD-JPY": {
|
||||
"base_asset": "USD",
|
||||
"quote_asset": "JPY",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.001
|
||||
},
|
||||
"PAIR-USD-MXN": {
|
||||
}
|
||||
, "PAIR-USD-MXN": {
|
||||
"base_asset": "USD",
|
||||
"quote_asset": "MXN",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.001
|
||||
},
|
||||
"PAIR-USDC-USDT": {
|
||||
}
|
||||
, "PAIR-USDC-USDT": {
|
||||
"base_asset": "USDC",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.0001
|
||||
},
|
||||
"PAIR-USDT-USD": {
|
||||
}
|
||||
, "PAIR-USDT-USD": {
|
||||
"base_asset": "USDT",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.0001",
|
||||
"price_tick": 0.0001
|
||||
},
|
||||
}
|
||||
# --- PAIR-X
|
||||
"PAIR-XRP-BTC": {
|
||||
, "PAIR-XLM-USD": {
|
||||
"base_asset": "XLM",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.000001
|
||||
}
|
||||
, "PAIR-XLM-USDT": {
|
||||
"base_asset": "XLM",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.000001
|
||||
}
|
||||
, "PAIR-XRP-BTC": {
|
||||
"base_asset": "XRP",
|
||||
"quote_asset": "BTC",
|
||||
"quantity_precision": "1.0",
|
||||
"quantity_precision": "0.000001",
|
||||
"price_tick": 0.00000001
|
||||
},
|
||||
"PAIR-XRP-BUSD": {
|
||||
"base_asset": "XRP",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.0001
|
||||
},
|
||||
"PAIR-XRP-EUR": {
|
||||
}
|
||||
, "PAIR-XRP-EUR": {
|
||||
"base_asset": "XRP",
|
||||
"quote_asset": "EUR",
|
||||
"quantity_precision": "0.01",
|
||||
"quantity_precision": "0.000001",
|
||||
"price_tick": 0.0001
|
||||
},
|
||||
"PAIR-XRP-MXN": {
|
||||
}
|
||||
, "PAIR-XRP-MXN": {
|
||||
"base_asset": "XRP",
|
||||
"quote_asset": "MXN",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.000001
|
||||
},
|
||||
"PAIR-XRP-USD": {
|
||||
}
|
||||
, "PAIR-XRP-USD": {
|
||||
"base_asset": "XRP",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "0.01",
|
||||
"quantity_precision": "0.000001",
|
||||
"price_tick": 0.0001
|
||||
},
|
||||
"PAIR-XRP-USDT": {
|
||||
}
|
||||
, "PAIR-XRP-USDT": {
|
||||
"base_asset": "XRP",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.01",
|
||||
"quantity_precision": "0.000001",
|
||||
"price_tick": 0.0001
|
||||
},
|
||||
}
|
||||
# ****************************************************
|
||||
# PERPs
|
||||
# ****************************************************
|
||||
# --- PERP-A
|
||||
"PERP-AAVE-USDT": {
|
||||
, "PERP-AAVE-USDT": {
|
||||
"base_asset": "AAVE",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.1
|
||||
},
|
||||
"PERP-AVAX-USDT": {
|
||||
}
|
||||
, "PERP-ADA-USDC": {
|
||||
"base_asset": "ADA",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "1",
|
||||
"price_tick": 0.0001
|
||||
}
|
||||
, "PERP-AVAX-USDC": {
|
||||
"base_asset": "AVAX",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.001
|
||||
}
|
||||
, "PERP-AVAX-USDT": {
|
||||
"base_asset": "AVAX",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.00001",
|
||||
"price_tick": 0.00001
|
||||
},
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.001
|
||||
}
|
||||
# --- PERP-B
|
||||
"PERP-BCH-USDT": {
|
||||
, "PERP-BCH-USDC": {
|
||||
"base_asset": "BCH",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.01
|
||||
}
|
||||
, "PERP-BCH-USDT": {
|
||||
"base_asset": "BCH",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.1
|
||||
},
|
||||
"PERP-BTC-BUSD": {
|
||||
"base_asset": "BTC",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.00000001",
|
||||
"price_tick": 0.1
|
||||
},
|
||||
"PERP-BTC-GUSD": {
|
||||
"base_asset": "BTC",
|
||||
"quote_asset": "GUSD",
|
||||
"price_tick": 0.01
|
||||
}
|
||||
, "PERP-BNB-USDC": {
|
||||
"base_asset": "BNB",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PERP-BTC-USD": {
|
||||
}
|
||||
, "PERP-BTC-USD": {
|
||||
"base_asset": "BTC",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "1",
|
||||
"quantity_precision": "0.0001",
|
||||
"price_tick": 0.1
|
||||
},
|
||||
"PERP-BTC-USDC": {
|
||||
}
|
||||
, "PERP-BTC-USDC": {
|
||||
"base_asset": "BTC",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PERP-BTC-USDT": {
|
||||
}
|
||||
, "PERP-BTC-USDT": {
|
||||
"base_asset": "BTC",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
}
|
||||
# --- PERP-D
|
||||
"PERP-DOGE-USDT": {
|
||||
, "PERP-DOGE-USDC": {
|
||||
"base_asset": "DOGE",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "1",
|
||||
"price_tick": 0.00001
|
||||
}
|
||||
, "PERP-DOGE-USDT": {
|
||||
"base_asset": "DOGE",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "1",
|
||||
"price_tick": 0.000001
|
||||
},
|
||||
"price_tick": 0.00001
|
||||
}
|
||||
, "PERP-DOT-USDC": {
|
||||
"base_asset": "DOT",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "0.1",
|
||||
"price_tick": 0.001
|
||||
}
|
||||
# --- PERP-E
|
||||
"PERP-ETH-BUSD": {
|
||||
"base_asset": "ETH",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.0001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PERP-ETH-USDC": {
|
||||
, "PERP-ETH-USDC": {
|
||||
"base_asset": "ETH",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "0.001",
|
||||
"quantity_precision": "0.0001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PERP-ETH-USD": {
|
||||
}
|
||||
, "PERP-ETH-USD": {
|
||||
"base_asset": "ETH",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "1",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PERP-ETH-USDT": {
|
||||
}
|
||||
, "PERP-ETH-USDT": {
|
||||
"base_asset": "ETH",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
}
|
||||
# --- PERP-H
|
||||
, "PERP-HBAR-USDC": {
|
||||
"base_asset": "HBAR",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "1",
|
||||
"price_tick": 0.00001
|
||||
}
|
||||
# --- PERP-L
|
||||
"PERP-LINK-BUSD": {
|
||||
, "PERP-LINK-USDC": {
|
||||
"base_asset": "LINK",
|
||||
"quote_asset": "BUSD",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.001
|
||||
},
|
||||
"PERP-LINK-USDT": {
|
||||
}
|
||||
, "PERP-LINK-USDT": {
|
||||
"base_asset": "LINK",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.001
|
||||
},
|
||||
"PERP-LTC-BUSD": {
|
||||
}
|
||||
, "PERP-LTC-USDC": {
|
||||
"base_asset": "LTC",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.001",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
"PERP-LTC-USDT": {
|
||||
}
|
||||
, "PERP-LTC-USDT": {
|
||||
"base_asset": "LTC",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "0.001",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.01
|
||||
},
|
||||
}
|
||||
# --- PERP-M
|
||||
"PERP-MATIC-USDT": {
|
||||
, "PERP-MATIC-USDT": {
|
||||
"base_asset": "MATIC",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "1",
|
||||
"price_tick": 0.00001
|
||||
}
|
||||
# --- PERP-S
|
||||
, "PERP-SOL-BUSD": {
|
||||
"base_asset": "SOL",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.01
|
||||
}
|
||||
# --- PERP-U
|
||||
, "PERP-UNI-BUSD": {
|
||||
"base_asset": "UNI",
|
||||
"quote_asset": "BUSD",
|
||||
"quantity_precision": "0.01",
|
||||
"price_tick": 0.01
|
||||
}
|
||||
# ****************************************************
|
||||
# PERPCs (coin-margined)
|
||||
# ****************************************************
|
||||
# --- PERPC-B
|
||||
, "PERPC-BTC-USD": {
|
||||
"base_asset": "BTC",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "1",
|
||||
"price_tick": 0.1
|
||||
}
|
||||
# --- PERPC-D
|
||||
, "PERPC-DOGE-USD": {
|
||||
"base_asset": "DOGE",
|
||||
"quote_asset": "USDT",
|
||||
, "PERP-SHIB-USDC": {
|
||||
"base_asset": "SHIB",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "1",
|
||||
"price_tick": 0.000001
|
||||
}
|
||||
# --- PERPC-E
|
||||
, "PERPC-ETH-USD": {
|
||||
"base_asset": "ETH",
|
||||
"quote_asset": "USD",
|
||||
"quantity_precision": "1",
|
||||
"price_tick": 0.01
|
||||
}
|
||||
# --- PERPC-L
|
||||
, "PERPC-LINK-USD": {
|
||||
"base_asset": "LINK",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "1",
|
||||
, "PERP-SOL-USDC": {
|
||||
"base_asset": "SOL",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "0.001",
|
||||
"price_tick": 0.001
|
||||
}
|
||||
, "PERPC-LTC-USD": {
|
||||
"base_asset": "LTC",
|
||||
"quote_asset": "USDT",
|
||||
"quantity_precision": "1",
|
||||
"price_tick": 0.01
|
||||
, "PERP-SUI-USDC": {
|
||||
"base_asset": "SUI",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "0.1",
|
||||
"price_tick": 0.0001
|
||||
}
|
||||
# --- PERPC-M
|
||||
, "PERPC-MATIC-USD": {
|
||||
"base_asset": "MATIC",
|
||||
"quote_asset": "USDT",
|
||||
# --- PERP-X
|
||||
, "PERP-XLM-USDC": {
|
||||
"base_asset": "XLM",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "1",
|
||||
"price_tick": 0.00001
|
||||
}
|
||||
, "PERP-XRP-USDC": {
|
||||
"base_asset": "XRP",
|
||||
"quote_asset": "USDC",
|
||||
"quantity_precision": "1",
|
||||
"price_tick": 0.0001
|
||||
}
|
||||
|
||||
# ------------------- STOCKS
|
||||
, "STOCK-AAPL": {
|
||||
"base_asset": "EQT.AAPL"
|
||||
|
||||
Reference in New Issue
Block a user