From 0bbf1ba43b6419fbcba91f03004979e6d037fca6 Mon Sep 17 00:00:00 2001 From: dsyoon Date: Thu, 25 Jan 2024 10:26:56 +0900 Subject: [PATCH] init --- stock/analysis/AnalyzerSqlite.py | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/stock/analysis/AnalyzerSqlite.py b/stock/analysis/AnalyzerSqlite.py index 131afdc..4bebbda 100644 --- a/stock/analysis/AnalyzerSqlite.py +++ b/stock/analysis/AnalyzerSqlite.py @@ -726,16 +726,20 @@ class AnalyzerSqlite: self.macd.analyze(stock) close_list = [price['close'] for price in stock['PRICE']] - # 트렌드: 실시간 정상 작동 안됨 - size = int(len(close_list) / 20) - pos = round(size / 2) - close_temp = close_list + [close_list[-1]] * pos - decomposition_results = seasonal_decompose(close_temp, model='multiplicative', period=size) - trend = decomposition_results.trend[:-pos] - trend_df = pd.DataFrame(trend).fillna(close_list[0]) - trend_list = trend_df.values.tolist() - for i, price in enumerate(stock['PRICE']): - price['trend'] = trend_list[i][0] + if 200 < len(close_list): + # 트렌드: 실시간 정상 작동 안됨 + size = int(len(close_list) / 20) + pos = round(size / 2) + close_temp = close_list + [close_list[-1]] * pos + decomposition_results = seasonal_decompose(close_temp, model='multiplicative', period=size) + trend = decomposition_results.trend[:-pos] + trend_df = pd.DataFrame(trend).fillna(close_list[0]) + trend_list = trend_df.values.tolist() + for i, price in enumerate(stock['PRICE']): + price['trend'] = trend_list[i][0] + else: + for i, price in enumerate(stock['PRICE']): + price['trend'] = stock['PRICE'][i]['avg120'] sorted_stock = sorted(stock["PRICE"], key=lambda x: x['ymd'], reverse=True) for price in sorted_stock: