-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconstants.py
More file actions
103 lines (83 loc) · 1.99 KB
/
Copy pathconstants.py
File metadata and controls
103 lines (83 loc) · 1.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
import numpy as np
# hyperparameters
ROUNDS = 100
SEED = 42
LOAD_DATA = False
ASSETS_PATH = 'data/assets.npy'
TRANSACTIONS_PATH = 'data/transactions.npy'
class Agent:
class Random:
NUM = 2000
SLICE = None
INIT_ASSETS = 2_000_000.0
class Expert:
NUM = 100
SLICE = None
INIT_ASSETS = 10_000_000.0
class LocalImitative:
NUM = 500
SLICE = None
INIT_ASSETS = 2_000_000.0
SIGHT = 10
class MarketImitative:
NUM = 500
SLICE = None
INIT_ASSETS = 2_000_000.0
class TimeWeighted:
NUM = 500
SLICE = None
INIT_ASSETS = 2_000_000.0
SIGHT = 10
class VolumeWeighted:
NUM = 500
SLICE = None
INIT_ASSETS = 2_000_000.0
SIGHT = 10
SELECTIONS = [
Random,
Expert,
# LocalImitative,
# MarketImitative,
# TimeWeighted,
# VolumeWeighted,
]
NUM_SELECTION = len(SELECTIONS)
__BEGIN_INDICES = [0] + list(np.cumsum([selection.NUM for selection in SELECTIONS]))
for i in range(NUM_SELECTION):
SELECTIONS[i].SLICE = slice(__BEGIN_INDICES[i], __BEGIN_INDICES[i + 1])
TOTAL_NUM = np.sum([selection.NUM for selection in SELECTIONS])
MAX_BUDGET = 100_000.0
RISK_FREE_INTEREST_RATE = 0
RISK_FREE_DAILY_RETURN_RATE = .0001
ALTERNATIVE_NUM = 10
MAX_PURCHASE_NUM = 5
EXPECTED_PROFIT = 0
class Stock:
class Small:
NUM = 100
SAMPLE_NUM = 30
SLICE = None
INIT_PRICE = 10.0
INIT_QUANTITY = 40_000_000
class Medium:
NUM = 100
SAMPLE_NUM = 30
SLICE = None
INIT_PRICE = 20.0
INIT_QUANTITY = 80_000_000
class Large:
NUM = 100
SAMPLE_NUM = 40
SLICE = None
INIT_PRICE = 30.0
INIT_QUANTITY = 100_000_000
SELECTIONS = [
Small,
Medium,
Large,
]
NUM_SELECTION = len(SELECTIONS)
__BEGIN_INDICES = [0] + list(np.cumsum([selection.NUM for selection in SELECTIONS]))
for i in range(NUM_SELECTION):
SELECTIONS[i].SLICE = slice(__BEGIN_INDICES[i], __BEGIN_INDICES[i + 1])
TOTAL_NUM = np.sum([selection.NUM for selection in SELECTIONS])