analyser_hj3415 2.9.17__py3-none-any.whl → 2.10.0__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/tsa.py CHANGED
@@ -290,7 +290,7 @@ class MyLSTM:
290
290
  @code.setter
291
291
  def code(self, code: str):
292
292
  assert utils.is_6digit(code), f'Invalid value : {code}'
293
- tsa_logger.info(f'change code : {self.code} -> {code}')
293
+ tsa_logger.debug(f'change code : {self.code} -> {code}')
294
294
 
295
295
  self._code = code
296
296
  self.name = myredis.Corps(code, 'c101').get_name()
@@ -346,12 +346,28 @@ class MyLSTM:
346
346
  y.append(data[i + time_step, 0])
347
347
  return np.array(X), np.array(y)
348
348
 
349
+
349
350
  X_train, y_train_1d = create_dataset(train_data_2d)
350
351
  X_test, y_test_1d = create_dataset(test_data_2d)
352
+ tsa_logger.debug(X_train.shape)
353
+ tsa_logger.debug(X_test.shape)
351
354
 
352
- # LSTM 모델 입력을 위해 데이터를 3차원으로 변환
353
- X_train_3d = X_train.reshape(X_train.shape[0], X_train.shape[1], 1)
354
- X_test_3d = X_test.reshape(X_test.shape[0], X_test.shape[1], 1)
355
+ try:
356
+ # LSTM 모델 입력을 위해 데이터를 3차원으로 변환
357
+ X_train_3d = X_train.reshape(X_train.shape[0], X_train.shape[1], 1)
358
+ X_test_3d = X_test.reshape(X_test.shape[0], X_test.shape[1], 1)
359
+ except IndexError:
360
+ return LSTMData(
361
+ code=self.code,
362
+ data_2d=np.array([]),
363
+ train_size=0,
364
+ train_data_2d=np.array([]),
365
+ test_data_2d=np.array([]),
366
+ X_train_3d=np.array([]),
367
+ X_test_3d=np.array([]),
368
+ y_train_1d=np.array([]),
369
+ y_test_1d=np.array([]),
370
+ )
355
371
 
356
372
  tsa_logger.debug(f'n_dim - X_train_3d : {X_train_3d.ndim}, X_test_3d : {X_test_3d.ndim}, y_train : {y_train_1d.ndim}, y_test : {y_test_1d.ndim}')
357
373
  tsa_logger.debug(f'len - X_train_3d : {len(X_train_3d)}, X_test_3d : {len(X_test_3d)}, y_train : {len(y_train_1d)}, y_test : {len(y_test_1d)}')
@@ -517,8 +533,11 @@ class MyLSTM:
517
533
  :return:
518
534
  """
519
535
  # 앙상블 테스트와 채점
520
- _, _, ensemble_future_predictions_2d = self.ensemble_training(
536
+ try:
537
+ _, _, ensemble_future_predictions_2d = self.ensemble_training(
521
538
  num=num_in)
539
+ except IndexError:
540
+ return [], []
522
541
 
523
542
  """if grading:
524
543
  lstm_grade = self.grading(ensemble_train_predictions_2d, ensemble_test_predictions_2d)
@@ -671,17 +690,14 @@ class MyLSTM:
671
690
  plt.title('Stock Price Prediction with LSTM Ensemble')
672
691
  plt.show()"""
673
692
 
674
- def is_up(self)-> Optional[bool]:
693
+ def is_up(self)-> bool:
675
694
  # 튜플의 [0]은 날짜 [1]은 값 배열
676
- if myredis.Base.exists(f'{self.code}_mylstm_predictions'):
677
- data = self.get_final_predictions(refresh=False, expire_time_h=24)[1]
678
- # 데이터를 1D 배열로 변환
679
- flattened_data = data.flatten()
680
- tsa_logger.debug(f"flattened_data : {flattened_data}")
681
- # 증가 여부 확인
682
- return all(flattened_data[i] < flattened_data[i + 1] for i in range(len(flattened_data) - 1))
683
- else:
684
- return None
695
+ data = self.get_final_predictions(refresh=False, expire_time_h=24)[1]
696
+ # 데이터를 1D 배열로 변환
697
+ flattened_data = data.flatten()
698
+ tsa_logger.debug(f"flattened_data : {flattened_data}")
699
+ # 증가 여부 확인
700
+ return all(flattened_data[i] < flattened_data[i + 1] for i in range(len(flattened_data) - 1))
685
701
 
686
702
  @staticmethod
687
703
  def caching_based_on_prophet_ranking(refresh: bool, expire_time_h: int, top=20):
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: analyser_hj3415
3
- Version: 2.9.17
3
+ Version: 2.10.0
4
4
  Summary: Stock analyser and database processing programs
5
5
  Requires-Python: >=3.6
6
6
  Description-Content-Type: text/markdown
7
- Requires-Dist: utils-hj3415>=2.9.2
8
- Requires-Dist: db-hj3415>=4.1.4
7
+ Requires-Dist: utils-hj3415>=2.9.4
8
+ Requires-Dist: db-hj3415>=4.2.3
9
9
  Requires-Dist: scikit-learn>=1.5.2
10
10
  Requires-Dist: plotly>=5.24.1
11
11
  Requires-Dist: yfinance>=0.2.44
@@ -1,13 +1,13 @@
1
1
  analyser_hj3415/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  analyser_hj3415/cli.py,sha256=a4oUwfPFEdd3r2Fq2EMHBITcp6lbXUjZvVWvCHIvCUQ,12540
3
3
  analyser_hj3415/eval.py,sha256=eNrcbpVyj7SZJevWqatlj_gJ2EQTmLZAz2nPG5qNv6k,38811
4
- analyser_hj3415/tsa.py,sha256=BF5vwZuVljYfOrlYXQ7Rq4Y7akDaPNyAaVM9u-oA8Y8,28020
4
+ analyser_hj3415/tsa.py,sha256=v8Fbw4FaJCQh-_0WmfTIWmXwwjLtlPZYPUuP5pgSb3c,28496
5
5
  analyser_hj3415/workroom/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  analyser_hj3415/workroom/mysklearn.py,sha256=wJXKz5MqqTzADdG2mqRMMzc_G9RzwYjj5_j4gyOopxQ,2030
7
7
  analyser_hj3415/workroom/mysklearn2.py,sha256=1lIy6EWEQHkOzDS-av8U0zQH6DuCLKWMI73dnJx5KRs,1495
8
8
  analyser_hj3415/workroom/score.py,sha256=P6nHBJYmyhigGtT4qna4BmNtvt4B93b7SKyzdstJK24,17376
9
9
  analyser_hj3415/workroom/trash.py,sha256=zF-W0piqkGr66UP6-iybo9EXh2gO0RP6R1FnIpsGkl8,12262
10
- analyser_hj3415-2.9.17.dist-info/entry_points.txt,sha256=ZfjPnJuH8SzvhE9vftIPMBIofsc65IAWYOhqOC_L5ck,65
11
- analyser_hj3415-2.9.17.dist-info/WHEEL,sha256=CpUCUxeHQbRN5UGRQHYRJorO5Af-Qy_fHMctcQ8DSGI,82
12
- analyser_hj3415-2.9.17.dist-info/METADATA,sha256=N4vzLnFH3ijzzI1d9f54k_G1326v6NqDGcJ86qs2fdM,6777
13
- analyser_hj3415-2.9.17.dist-info/RECORD,,
10
+ analyser_hj3415-2.10.0.dist-info/entry_points.txt,sha256=ZfjPnJuH8SzvhE9vftIPMBIofsc65IAWYOhqOC_L5ck,65
11
+ analyser_hj3415-2.10.0.dist-info/WHEEL,sha256=CpUCUxeHQbRN5UGRQHYRJorO5Af-Qy_fHMctcQ8DSGI,82
12
+ analyser_hj3415-2.10.0.dist-info/METADATA,sha256=--9EvHsGT9Rhe7DmIKSQwedfdX25sN38PYvtt0_BXWU,6777
13
+ analyser_hj3415-2.10.0.dist-info/RECORD,,