analyser_hj3415 3.2.0__py3-none-any.whl → 3.2.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- analyser_hj3415/__init__.py +0 -5
- analyser_hj3415/analyser/__init__.py +12 -0
- analyser_hj3415/analyser/compile.py +158 -50
- analyser_hj3415/analyser/tsa/__init__.py +0 -12
- analyser_hj3415/analyser/tsa/lstm.py +1 -5
- analyser_hj3415/analyser/tsa/prophet.py +2 -3
- analyser_hj3415/cli.py +7 -8
- {analyser_hj3415-3.2.0.dist-info → analyser_hj3415-3.2.2.dist-info}/METADATA +1 -1
- {analyser_hj3415-3.2.0.dist-info → analyser_hj3415-3.2.2.dist-info}/RECORD +11 -11
- {analyser_hj3415-3.2.0.dist-info → analyser_hj3415-3.2.2.dist-info}/WHEEL +0 -0
- {analyser_hj3415-3.2.0.dist-info → analyser_hj3415-3.2.2.dist-info}/entry_points.txt +0 -0
analyser_hj3415/__init__.py
CHANGED
@@ -6,8 +6,3 @@ env_path = get_env_path()
|
|
6
6
|
if env_path is None:
|
7
7
|
mylogger.warning(f"환경변수 파일(.env)를 찾을수 없습니다. 기본 설정값으로 프로그램을 실행합니다.")
|
8
8
|
load_dotenv(env_path)
|
9
|
-
|
10
|
-
from analyser_hj3415.analyser import eval
|
11
|
-
from analyser_hj3415.analyser import compile
|
12
|
-
from analyser_hj3415.analyser import tsa
|
13
|
-
|
@@ -5,14 +5,99 @@ from typing import Union
|
|
5
5
|
from db_hj3415 import myredis,mymongo
|
6
6
|
from utils_hj3415 import tools, setup_logger
|
7
7
|
|
8
|
-
from analyser_hj3415.analyser import tsa
|
9
|
-
from analyser_hj3415.analyser import eval
|
8
|
+
from analyser_hj3415.analyser import tsa, eval, MIs
|
10
9
|
|
11
10
|
mylogger = setup_logger(__name__,'WARNING')
|
12
11
|
expire_time = tools.to_int(os.getenv('DEFAULT_EXPIRE_TIME_H', 48)) * 3600
|
13
12
|
|
13
|
+
class MICompile:
|
14
|
+
def __init__(self, mi_type: str):
|
15
|
+
assert mi_type in MIs.keys(), f"Invalid MI type ({MIs.keys()})"
|
16
|
+
self._mi_type = mi_type
|
17
|
+
self.prophet = tsa.MIProphet(mi_type)
|
18
|
+
self.lstm = tsa.MILSTM(mi_type)
|
14
19
|
|
15
|
-
|
20
|
+
@property
|
21
|
+
def mi_type(self) -> str:
|
22
|
+
return self._mi_type
|
23
|
+
|
24
|
+
@mi_type.setter
|
25
|
+
def mi_type(self, mi_type: str):
|
26
|
+
assert mi_type in MIs.keys(), f"Invalid MI type ({MIs.keys()})"
|
27
|
+
self._mi_type = mi_type
|
28
|
+
self.prophet.mi_type = mi_type
|
29
|
+
self.lstm.mi_type = mi_type
|
30
|
+
|
31
|
+
def get(self, refresh=False) -> dict:
|
32
|
+
"""
|
33
|
+
특정 MI(Market Index) 타입 데이터를 컴파일하고 반환합니다.
|
34
|
+
데이터를 Redis 캐시에서 가져오거나, 새로 생성하여 캐시에 저장합니다.
|
35
|
+
|
36
|
+
Args:
|
37
|
+
refresh (bool, optional):
|
38
|
+
- True: 캐시를 무시하고 데이터를 새로 생성하여 저장.
|
39
|
+
- False: 캐시된 데이터를 가져오며, 없을 경우 새로 생성.
|
40
|
+
Defaults to False.
|
41
|
+
|
42
|
+
Returns:
|
43
|
+
dict: MI 데이터를 포함하는 딕셔너리로 반환하며, 다음의 키를 포함합니다:
|
44
|
+
- 'name' (str): MI 타입 이름.
|
45
|
+
- 'trading_action' (str): 예측된 매매 신호 ('buy', 'sell', 'hold').
|
46
|
+
- 'prophet_score' (float): Prophet 모델의 예측 점수.
|
47
|
+
- 'lstm_grade' (float): LSTM 모델의 최종 예측 점수.
|
48
|
+
- 'is_lstm_up' (bool): LSTM 모델이 상승 신호를 나타내는지 여부.
|
49
|
+
- 'prophet_html' (str): prophet_html,
|
50
|
+
- 'lstm_html' (str): lstm_html ,
|
51
|
+
Example:
|
52
|
+
{
|
53
|
+
'name': 'example_mi',
|
54
|
+
'trading_action': 'buy',
|
55
|
+
'prophet_score': 0.88,
|
56
|
+
'lstm_grade': 0.92,
|
57
|
+
'is_lstm_up': True,
|
58
|
+
'prophet_html': prophet_html...,
|
59
|
+
'lstm_html': lstm_html...,
|
60
|
+
}
|
61
|
+
"""
|
62
|
+
print(f"{self.mi_type}의 compiling을 시작합니다.")
|
63
|
+
redis_name = self.mi_type + '_mi_compile'
|
64
|
+
print(
|
65
|
+
f"redisname: '{redis_name}' / refresh : {refresh} / expire_time : {expire_time / 3600}h")
|
66
|
+
|
67
|
+
def fetch_mi_compile() -> dict:
|
68
|
+
print(f"{self.mi_type}")
|
69
|
+
trading_action, prophet_score = self.prophet.scoring()
|
70
|
+
prophet_html = self.prophet.export()
|
71
|
+
self.lstm.initializing()
|
72
|
+
_, lstm_grade = self.lstm.get_final_predictions(refresh=refresh, num=5)
|
73
|
+
is_lstm_up = self.lstm.is_lstm_up()
|
74
|
+
lstm_html= self.lstm.export()
|
75
|
+
|
76
|
+
return {
|
77
|
+
'name': self.mi_type,
|
78
|
+
'trading_action': trading_action,
|
79
|
+
'prophet_score': prophet_score,
|
80
|
+
'lstm_grade': lstm_grade,
|
81
|
+
'is_lstm_up': is_lstm_up,
|
82
|
+
'prophet_html': prophet_html,
|
83
|
+
'lstm_html': lstm_html,
|
84
|
+
}
|
85
|
+
|
86
|
+
data_dict = myredis.Base.fetch_and_cache_data(redis_name, refresh, fetch_mi_compile, timer=expire_time)
|
87
|
+
return data_dict
|
88
|
+
|
89
|
+
@staticmethod
|
90
|
+
def analyser_lstm_all_mi(refresh: bool):
|
91
|
+
mi_lstm = tsa.MILSTM('wti')
|
92
|
+
print(f"*** LSTM prediction redis cashing Market Index items ***")
|
93
|
+
for mi_type in MIs.keys():
|
94
|
+
mi_lstm.mi_type = mi_type
|
95
|
+
print(f"{mi_lstm.mi_type}")
|
96
|
+
mi_lstm.initializing()
|
97
|
+
mi_lstm.get_final_predictions(refresh=refresh, num=5)
|
98
|
+
|
99
|
+
|
100
|
+
class CorpCompile:
|
16
101
|
def __init__(self, code: str, expect_earn=0.06):
|
17
102
|
assert tools.is_6digit(code), f'Invalid value : {code}'
|
18
103
|
self._code = code
|
@@ -36,13 +121,43 @@ class Compile:
|
|
36
121
|
self.prophet.code = code
|
37
122
|
|
38
123
|
def get(self, refresh=False) -> dict:
|
124
|
+
"""
|
125
|
+
특정 기업 데이터를 컴파일하여 반환합니다.
|
126
|
+
데이터를 Redis 캐시에서 가져오거나, 새로 생성하여 캐시에 저장합니다.
|
127
|
+
|
128
|
+
Args:
|
129
|
+
refresh (bool, optional):
|
130
|
+
- True: 캐시를 무시하고 데이터를 새로 생성하여 저장.
|
131
|
+
- False: 캐시된 데이터를 가져오며, 없을 경우 새로 생성.
|
132
|
+
Defaults to False.
|
39
133
|
|
134
|
+
Returns:
|
135
|
+
dict: 기업 데이터를 포함하는 딕셔너리로 반환되며, 다음의 키를 포함합니다:
|
136
|
+
- 'name' (str): 기업 이름.
|
137
|
+
- 'red_score' (float): 기업의 Red Score (위험 점수).
|
138
|
+
- '이익지표' (float): 기업의 이익 지표.
|
139
|
+
- '주주수익률' (float): 주주 수익률.
|
140
|
+
- 'trading_action' (str): 예측된 매매 신호 ('buy', 'sell', 'hold').
|
141
|
+
- 'prophet_score' (float): Prophet 모델의 예측 점수.
|
142
|
+
- 'prophet_html' (str): prophet_html,
|
143
|
+
|
144
|
+
Example:
|
145
|
+
{
|
146
|
+
'name': 'Samsung Electronics',
|
147
|
+
'red_score': 0.85,
|
148
|
+
'이익지표': 0.75,
|
149
|
+
'주주수익률': 0.10,
|
150
|
+
'trading_action': 'buy',
|
151
|
+
'prophet_score': 0.92,
|
152
|
+
'prophet_html': prophet_html...,
|
153
|
+
}
|
154
|
+
"""
|
40
155
|
print(f"{self.code}/{self.name}의 compiling을 시작합니다.")
|
41
|
-
redis_name = self.code + '
|
156
|
+
redis_name = self.code + '_corp_compile'
|
42
157
|
print(
|
43
158
|
f"redisname: '{redis_name}' / refresh : {refresh} / expire_time : {expire_time/3600}h")
|
44
159
|
|
45
|
-
def
|
160
|
+
def fetch_corp_compile() -> dict:
|
46
161
|
mylogger.info("Red score 계산중..")
|
47
162
|
red_score = self.red.get(verbose=False).score
|
48
163
|
|
@@ -51,6 +166,7 @@ class Compile:
|
|
51
166
|
|
52
167
|
mylogger.info("\tProphet 최근 데이터 조회중..")
|
53
168
|
trading_action, prophet_score = self.prophet.scoring()
|
169
|
+
prophet_html = self.prophet.export()
|
54
170
|
|
55
171
|
return {
|
56
172
|
'name': self.name,
|
@@ -59,10 +175,44 @@ class Compile:
|
|
59
175
|
'주주수익률': mil_data.주주수익률,
|
60
176
|
'trading_action': trading_action,
|
61
177
|
'prophet_score': prophet_score,
|
178
|
+
'prophet_html': prophet_html,
|
62
179
|
}
|
63
|
-
data_dict = myredis.Base.fetch_and_cache_data(redis_name, refresh,
|
180
|
+
data_dict = myredis.Base.fetch_and_cache_data(redis_name, refresh, fetch_corp_compile, timer=expire_time)
|
64
181
|
return data_dict
|
65
182
|
|
183
|
+
@staticmethod
|
184
|
+
def red_ranking(expect_earn: float = 0.06, refresh=False) -> OrderedDict:
|
185
|
+
# 이전 expect earn 과 비교하여 다르거나 없으면 강제 refresh 설정
|
186
|
+
redis_name = 'red_ranking_prev_expect_earn'
|
187
|
+
pee = tools.to_float(myredis.Base.get_value(redis_name))
|
188
|
+
if pee != expect_earn:
|
189
|
+
# expect earn의 이전 계산값이 없거나 이전 값과 다르면 새로 계산
|
190
|
+
mylogger.warning(
|
191
|
+
f"expect earn : {expect_earn} / prev expect earn : {pee} 두 값이 달라 refresh = True"
|
192
|
+
)
|
193
|
+
myredis.Base.set_value(redis_name, str(expect_earn))
|
194
|
+
refresh = True
|
195
|
+
|
196
|
+
print("**** Start red_ranking... ****")
|
197
|
+
redis_name = 'red_ranking'
|
198
|
+
print(
|
199
|
+
f"redisname: '{redis_name}' / expect_earn: {expect_earn} / refresh : {refresh} / expire_time : {expire_time / 3600}h")
|
200
|
+
|
201
|
+
def fetch_ranking(refresh_in: bool) -> dict:
|
202
|
+
data = {}
|
203
|
+
red = eval.Red(code='005930', expect_earn=expect_earn)
|
204
|
+
for i, code in enumerate(myredis.Corps.list_all_codes()):
|
205
|
+
red.code = code
|
206
|
+
red_score = red.get(refresh=refresh_in, verbose=False).score
|
207
|
+
if red_score > 0:
|
208
|
+
data[code] = red_score
|
209
|
+
print(f"{i}: {red} - {red_score}")
|
210
|
+
return data
|
211
|
+
|
212
|
+
data_dict = myredis.Base.fetch_and_cache_data(redis_name, refresh, fetch_ranking, refresh, timer=expire_time)
|
213
|
+
|
214
|
+
return OrderedDict(sorted(data_dict.items(), key=lambda item: item[1], reverse=True))
|
215
|
+
|
66
216
|
@staticmethod
|
67
217
|
def prophet_ranking(refresh=False, top: Union[int, str]='all') -> OrderedDict:
|
68
218
|
|
@@ -74,7 +224,7 @@ class Compile:
|
|
74
224
|
|
75
225
|
def fetch_ranking() -> dict:
|
76
226
|
data = {}
|
77
|
-
c =
|
227
|
+
c = CorpCompile('005930')
|
78
228
|
for code in myredis.Corps.list_all_codes():
|
79
229
|
try:
|
80
230
|
c.code = code
|
@@ -101,7 +251,7 @@ class Compile:
|
|
101
251
|
|
102
252
|
@staticmethod
|
103
253
|
def analyse_lstm_topn(refresh: bool, top=40):
|
104
|
-
ranking_topn =
|
254
|
+
ranking_topn = CorpCompile.prophet_ranking(refresh=False, top=top)
|
105
255
|
mylogger.info(ranking_topn)
|
106
256
|
corp_lstm = tsa.CorpLSTM('005930')
|
107
257
|
print(f"*** LSTM prediction redis cashing top{top} items ***")
|
@@ -111,46 +261,4 @@ class Compile:
|
|
111
261
|
corp_lstm.initializing()
|
112
262
|
corp_lstm.get_final_predictions(refresh=refresh, num=5)
|
113
263
|
|
114
|
-
@staticmethod
|
115
|
-
def analyse_lstm_mis(refresh: bool):
|
116
|
-
mi_lstm = tsa.MILSTM('wti')
|
117
|
-
print(f"*** LSTM prediction redis cashing Market Index items ***")
|
118
|
-
for mi_type in tsa.MIs.keys():
|
119
|
-
mi_lstm.mi_type = mi_type
|
120
|
-
print(f"{mi_lstm.mi_type}")
|
121
|
-
mi_lstm.initializing()
|
122
|
-
mi_lstm.get_final_predictions(refresh=refresh, num=5)
|
123
|
-
|
124
|
-
@staticmethod
|
125
|
-
def red_ranking(expect_earn: float = 0.06, refresh=False) -> OrderedDict:
|
126
|
-
# 이전 expect earn 과 비교하여 다르거나 없으면 강제 refresh 설정
|
127
|
-
redis_name = 'red_ranking_prev_expect_earn'
|
128
|
-
pee = tools.to_float(myredis.Base.get_value(redis_name))
|
129
|
-
if pee != expect_earn:
|
130
|
-
# expect earn의 이전 계산값이 없거나 이전 값과 다르면 새로 계산
|
131
|
-
mylogger.warning(
|
132
|
-
f"expect earn : {expect_earn} / prev expect earn : {pee} 두 값이 달라 refresh = True"
|
133
|
-
)
|
134
|
-
myredis.Base.set_value(redis_name, str(expect_earn))
|
135
|
-
refresh = True
|
136
|
-
|
137
|
-
print("**** Start red_ranking... ****")
|
138
|
-
redis_name = 'red_ranking'
|
139
|
-
print(
|
140
|
-
f"redisname: '{redis_name}' / expect_earn: {expect_earn} / refresh : {refresh} / expire_time : {expire_time / 3600}h")
|
141
|
-
|
142
|
-
def fetch_ranking(refresh_in: bool) -> dict:
|
143
|
-
data = {}
|
144
|
-
red = eval.Red(code='005930', expect_earn=expect_earn)
|
145
|
-
for i, code in enumerate(myredis.Corps.list_all_codes()):
|
146
|
-
red.code = code
|
147
|
-
red_score = red.get(refresh=refresh_in, verbose=False).score
|
148
|
-
if red_score > 0:
|
149
|
-
data[code] = red_score
|
150
|
-
print(f"{i}: {red} - {red_score}")
|
151
|
-
return data
|
152
|
-
|
153
|
-
data_dict = myredis.Base.fetch_and_cache_data(redis_name, refresh, fetch_ranking, refresh, timer=expire_time)
|
154
|
-
|
155
|
-
return OrderedDict(sorted(data_dict.items(), key=lambda item: item[1], reverse=True))
|
156
264
|
|
@@ -1,15 +1,3 @@
|
|
1
1
|
from analyser_hj3415.analyser.tsa.lstm import *
|
2
2
|
from analyser_hj3415.analyser.tsa.prophet import *
|
3
3
|
|
4
|
-
MIs = {
|
5
|
-
"wti": "CL=F",
|
6
|
-
"gold": "GC=F",
|
7
|
-
"silver": "SI=F",
|
8
|
-
"usdidx": "DX-Y.NYB",
|
9
|
-
"usdkrw": "KRW=X",
|
10
|
-
"sp500": "^GSPC",
|
11
|
-
"kospi": "^KS11",
|
12
|
-
"nikkei": "^N225",
|
13
|
-
"china": "^HSI",
|
14
|
-
"irx": "^IRX",
|
15
|
-
}
|
@@ -1,6 +1,3 @@
|
|
1
|
-
"""
|
2
|
-
Time Series Analysis
|
3
|
-
"""
|
4
1
|
import os
|
5
2
|
import numpy as np
|
6
3
|
import yfinance as yf
|
@@ -20,6 +17,7 @@ from dataclasses import dataclass
|
|
20
17
|
|
21
18
|
from utils_hj3415 import tools, setup_logger
|
22
19
|
from db_hj3415 import myredis
|
20
|
+
from analyser_hj3415.analyser import MIs
|
23
21
|
|
24
22
|
|
25
23
|
mylogger = setup_logger(__name__,'WARNING')
|
@@ -702,7 +700,6 @@ class CorpLSTM(MyLSTM):
|
|
702
700
|
|
703
701
|
class MILSTM(MyLSTM):
|
704
702
|
def __init__(self, mi_type: str):
|
705
|
-
from analyser_hj3415.analyser.tsa import MIs
|
706
703
|
assert mi_type in MIs.keys(), f"Invalid MI type ({MIs.keys()})"
|
707
704
|
self._mi_type = mi_type
|
708
705
|
super().__init__(ticker=MIs[mi_type])
|
@@ -713,7 +710,6 @@ class MILSTM(MyLSTM):
|
|
713
710
|
|
714
711
|
@mi_type.setter
|
715
712
|
def mi_type(self, mi_type: str):
|
716
|
-
from analyser_hj3415.analyser.tsa import MIs
|
717
713
|
assert mi_type in MIs.keys(), f"Invalid MI type ({MIs.keys()})"
|
718
714
|
self._mi_type = mi_type
|
719
715
|
self.ticker = MIs[mi_type]
|
@@ -11,7 +11,8 @@ from plotly.offline import plot
|
|
11
11
|
from utils_hj3415 import tools, setup_logger
|
12
12
|
from db_hj3415 import myredis
|
13
13
|
|
14
|
-
from analyser_hj3415.analyser import eval
|
14
|
+
from analyser_hj3415.analyser import eval, MIs
|
15
|
+
|
15
16
|
|
16
17
|
mylogger = setup_logger(__name__,'WARNING')
|
17
18
|
|
@@ -252,7 +253,6 @@ class CorpProphet(MyProphet):
|
|
252
253
|
|
253
254
|
class MIProphet(MyProphet):
|
254
255
|
def __init__(self, mi_type: str):
|
255
|
-
from analyser_hj3415.analyser.tsa import MIs
|
256
256
|
assert mi_type in MIs.keys(), f"Invalid MI type ({MIs.keys()})"
|
257
257
|
self._mi_type = mi_type
|
258
258
|
super().__init__(ticker=MIs[mi_type])
|
@@ -263,7 +263,6 @@ class MIProphet(MyProphet):
|
|
263
263
|
|
264
264
|
@mi_type.setter
|
265
265
|
def mi_type(self, mi_type: str):
|
266
|
-
from analyser_hj3415.analyser.tsa import MIs
|
267
266
|
assert mi_type in MIs.keys(), f"Invalid MI type ({MIs.keys()})"
|
268
267
|
self._mi_type = mi_type
|
269
268
|
self.ticker = MIs[mi_type]
|
analyser_hj3415/cli.py
CHANGED
@@ -2,12 +2,11 @@ import argparse
|
|
2
2
|
import pprint
|
3
3
|
|
4
4
|
from utils_hj3415 import tools
|
5
|
-
from analyser_hj3415.analyser import eval, tsa, compile
|
5
|
+
from analyser_hj3415.analyser import eval, tsa, compile, MIs
|
6
6
|
from db_hj3415 import myredis, mymongo
|
7
7
|
|
8
8
|
|
9
9
|
def analyser_manager():
|
10
|
-
from analyser_hj3415.analyser.tsa import MIs
|
11
10
|
parser = argparse.ArgumentParser(description="Analyser Commands")
|
12
11
|
type_subparsers = parser.add_subparsers(dest='type', help='분석 타입')
|
13
12
|
|
@@ -99,9 +98,9 @@ def analyser_manager():
|
|
99
98
|
mymongo.Logs.save('cli', 'INFO', 'run >> analyser red ranking')
|
100
99
|
try:
|
101
100
|
if args.expect_earn is None:
|
102
|
-
result = compile.
|
101
|
+
result = compile.CorpCompile.red_ranking(refresh=args.refresh)
|
103
102
|
else:
|
104
|
-
result = compile.
|
103
|
+
result = compile.CorpCompile.red_ranking(expect_earn=args.expect_earn, refresh=args.refresh)
|
105
104
|
print(result)
|
106
105
|
except Exception as e:
|
107
106
|
print(e)
|
@@ -171,7 +170,7 @@ def analyser_manager():
|
|
171
170
|
if args.command == 'ranking':
|
172
171
|
mymongo.Logs.save('cli', 'INFO', 'run >> analyser prophet ranking')
|
173
172
|
try:
|
174
|
-
result = compile.
|
173
|
+
result = compile.CorpCompile.prophet_ranking(refresh=args.refresh)
|
175
174
|
print(result)
|
176
175
|
except Exception as e:
|
177
176
|
print(e)
|
@@ -191,10 +190,10 @@ def analyser_manager():
|
|
191
190
|
mymongo.Logs.save('cli', 'INFO', f'run >> analyser lstm caching')
|
192
191
|
try:
|
193
192
|
if args.top:
|
194
|
-
compile.
|
193
|
+
compile.CorpCompile.analyse_lstm_topn(refresh=args.refresh, top=args.top)
|
195
194
|
else:
|
196
|
-
compile.
|
197
|
-
compile.
|
195
|
+
compile.CorpCompile.analyse_lstm_topn(refresh=args.refresh)
|
196
|
+
compile.MICompile.analyser_lstm_all_mi(refresh=args.refresh)
|
198
197
|
except Exception as e:
|
199
198
|
print(e)
|
200
199
|
mymongo.Logs.save('cli','ERROR', f'analyser lstm caching 실행중 에러 - {e}')
|
@@ -1,22 +1,22 @@
|
|
1
|
-
analyser_hj3415/__init__.py,sha256=
|
2
|
-
analyser_hj3415/cli.py,sha256=
|
3
|
-
analyser_hj3415/analyser/__init__.py,sha256=
|
4
|
-
analyser_hj3415/analyser/compile.py,sha256=
|
1
|
+
analyser_hj3415/__init__.py,sha256=jqHEUoBeihYOMaS0bPOe3nRVXBufZ0clxc6M6jxPY0o,320
|
2
|
+
analyser_hj3415/cli.py,sha256=E4ElTT5QRuxlbBecayzjFgL32JKHRacBoy3OCyes_n8,11780
|
3
|
+
analyser_hj3415/analyser/__init__.py,sha256=rAY-FS6d1MtK3ShIYtuBAV5fk-GFlzxGF8c7JaGwD5Y,227
|
4
|
+
analyser_hj3415/analyser/compile.py,sha256=KmU4CD5xrjwcNbkZomju3eOWqElKSJdU5sO1TTAcEiE,10775
|
5
5
|
analyser_hj3415/analyser/eval/__init__.py,sha256=IP1d0Q3nOCAD3zK1qxrC685MkJQfUh-qaXc7xptTxk8,80
|
6
6
|
analyser_hj3415/analyser/eval/blue.py,sha256=fq_eln7-EdwICNQ2sMXAfZKXGhQ29EaJwsGvn7xA29U,7632
|
7
7
|
analyser_hj3415/analyser/eval/common.py,sha256=wcWJg_jNgr02i1U62oZGgLt2iscdle9X-u4aMnZl89Q,14127
|
8
8
|
analyser_hj3415/analyser/eval/growth.py,sha256=OXuBuPzVw3q6kpelNigiX7xvJNUP1gv26DNetc4aews,3315
|
9
9
|
analyser_hj3415/analyser/eval/mil.py,sha256=wN1jPu5zLJjoDk3kL7piL-4jWhpsAMeQpsTZll0a2dw,10568
|
10
10
|
analyser_hj3415/analyser/eval/red.py,sha256=rJbidKlo2s2EJHBGn4HDbfCDcEGP5Rst8iQeJ6jlzNA,10988
|
11
|
-
analyser_hj3415/analyser/tsa/__init__.py,sha256=
|
12
|
-
analyser_hj3415/analyser/tsa/lstm.py,sha256=
|
13
|
-
analyser_hj3415/analyser/tsa/prophet.py,sha256=
|
11
|
+
analyser_hj3415/analyser/tsa/__init__.py,sha256=OSl4eQUw0dN0del3-KF746jj-ouhNFtSaLUA5iC1JXs,100
|
12
|
+
analyser_hj3415/analyser/tsa/lstm.py,sha256=LuxpW9cQoQeSfYkqEtIelVb8QBNhujXOphu5VB2Ag3E,29881
|
13
|
+
analyser_hj3415/analyser/tsa/prophet.py,sha256=1qOyXHlupzto1wurOt80k_I6_-J7qWcEkWGhopgnAYI,10056
|
14
14
|
analyser_hj3415/workroom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
15
15
|
analyser_hj3415/workroom/mysklearn.py,sha256=wJXKz5MqqTzADdG2mqRMMzc_G9RzwYjj5_j4gyOopxQ,2030
|
16
16
|
analyser_hj3415/workroom/mysklearn2.py,sha256=1lIy6EWEQHkOzDS-av8U0zQH6DuCLKWMI73dnJx5KRs,1495
|
17
17
|
analyser_hj3415/workroom/score.py,sha256=P6nHBJYmyhigGtT4qna4BmNtvt4B93b7SKyzdstJK24,17376
|
18
18
|
analyser_hj3415/workroom/trash.py,sha256=zF-W0piqkGr66UP6-iybo9EXh2gO0RP6R1FnIpsGkl8,12262
|
19
|
-
analyser_hj3415-3.2.
|
20
|
-
analyser_hj3415-3.2.
|
21
|
-
analyser_hj3415-3.2.
|
22
|
-
analyser_hj3415-3.2.
|
19
|
+
analyser_hj3415-3.2.2.dist-info/entry_points.txt,sha256=ZfjPnJuH8SzvhE9vftIPMBIofsc65IAWYOhqOC_L5ck,65
|
20
|
+
analyser_hj3415-3.2.2.dist-info/WHEEL,sha256=CpUCUxeHQbRN5UGRQHYRJorO5Af-Qy_fHMctcQ8DSGI,82
|
21
|
+
analyser_hj3415-3.2.2.dist-info/METADATA,sha256=Dtq5P_Uy1wwtvdg8oh7AcIbjF1p2XakhGO38ByLDII4,6777
|
22
|
+
analyser_hj3415-3.2.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|