This commit is contained in:
dsyoon
2023-04-02 21:01:57 +09:00
parent 83f7f2f528
commit 4dcd9004fe

View File

@@ -17,7 +17,6 @@ from plotly import subplots
import plotly.io as po
from stock.analysis.Common import Common
from stock.analysis.RelativePerformance import RelativePerformance
from stock.analysis.Stochastic import Stochastic
from stock.analysis.BolingerBand import BolingerBand
from stock.analysis.IchimokuCloud import IchimokuCloud
@@ -30,7 +29,6 @@ from hts.BuySellChecker import BuySellChecker
class AnalyzerSqlite:
relativePerformance = None
stochastic = None
bolingerBand = None
ichimokuCloud = None
@@ -52,7 +50,6 @@ class AnalyzerSqlite:
def __init__(self, stockFileName=None):
self.common = Common()
self.relativePerformance = RelativePerformance()
self.stochastic = Stochastic()
self.bolingerBand = BolingerBand()
self.ichimokuCloud = IchimokuCloud()
@@ -935,60 +932,6 @@ class AnalyzerSqlite:
return
def analyzeRP (self):
type = {200:None, 52: "weekly", 12: "monthly"}
limits = [200, 52, 12]
for limit in limits:
if type[limit]==None:
stockAnalysisTableName = 'stock_analysis'
else:
stockAnalysisTableName = 'stock_analysis_' + type[limit]
conn = sqlite3.connect(self.stockFileName)
cursor = conn.cursor()
# S: Kospi 구하기 (RP 계산을 위함)
kospi = {"CODE": "^KS11", "NAME": "Kospi", "PRICE": []}
sql = "SELECT CODE, NAME, ymd, close, diff, open, high, low, volume, avg200 FROM " + stockAnalysisTableName + " where CODE=? order by ymd desc "
sql += ' limit ' + str(limit)
cursor.execute(sql, (kospi['CODE'],))
items = cursor.fetchall()
items_reverse = reversed(items)
for item in items_reverse:
kospi['PRICE'].append(self.setItem(item))
# E: Kospi 구하기 (RP 계산을 위함)
# S: 종목 구하기
cursor.execute('SELECT distinct code, name FROM ' + stockAnalysisTableName + ' order by code')
items = cursor.fetchall()
for rowid, item in enumerate(items):
stock = {"CODE": item[0], "NAME": item[1], "PRICE": []}
print("Daily # :", rowid, ", CODE: ", stock['CODE'], ", NAME: ", stock['NAME'])
sql = "SELECT CODE, NAME, ymd, close, diff, open, high, low, volume, avg200 FROM " + stockAnalysisTableName + " where CODE=? order by ymd desc "
sql += ' limit ' + str(limit)
cursor.execute(sql, (stock['CODE'],))
items = cursor.fetchall()
items_reverse = reversed(items)
for item in items_reverse:
stock['PRICE'].append(self.setItem(item))
self.relativePerformance.analyze(stock, kospi)
sql = "UPDATE " + stockAnalysisTableName + " SET rp=? WHERE CODE=? and ymd=?"
cursor.execute(sql, (price['rp'], stock["CODE"], price['ymd'],))
cursor.execute("commit",)
return
if __name__ == "__main__":
start = time.time()
@@ -1002,8 +945,6 @@ if __name__ == "__main__":
#analyzer.analyzeGrouping("weekly")
#analyzer.analyzeGrouping("monthly")
#analyzer.analyzeRP()
# HTML 출력
outPath = os.path.join(PROJECT_HOME, "resources", "analysis")
if not os.path.isdir(outPath):