class MemberChurnPredDto(db.Model): __tablename__ = 'member_churn_preds' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) email: str = db.Column(db.String(100), db.ForeignKey(MemberDto.email), nullable=False) probability_churn: float = db.Column(db.FLOAT, nullable=False) def __init__(self, id, email, probability_churn): self.id = id self.email = email self.prob_churn = probability_churn def __repr__(self): return f'MemberChurnPred(id={self.id}, email={self.email}, prob_churn={self.prob_churn})' @property def json(self): return { 'id': self.id, 'email': self.email, 'prob_churn': self.probability_churn }
class RecommendStockDto(db.Model): __tablename__ = 'recommend_stocks' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) email: str = db.Column(db.String(100), db.ForeignKey(MemberDto.email), nullable=False) stock_type: str = db.Column(db.String(50), nullable=False) stock_ticker: str = db.Column(db.String(100), nullable=False) def __init__(self, email, stock_type, stock_ticker): self.email = email self.stock_type = stock_type self.stock_ticker = stock_ticker def __repr__(self): return f'id={self.id}, email={self.email}, stock_type={self.stock_type}, stock_ticker={self.stock_ticker}' @property def json(self): return { 'id': self.id, 'email': self.email, 'stock_type': self.stock_type, 'stock_ticker': self.stock_ticker }
class TradingVo: id: int = 0 email: str = '' kospi_stock_id: int = 0 nasdaq_stock_id: int = 0 stock_qty: int = 0 price: float = 0.0 trading_date: str = db.Column(db.String(1000), default=datetime.datetime.now())
class NewsDto(db.Model): __tablename__ = 'naver_news' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) date: str = db.Column(db.DATETIME) headline: str = db.Column(db.String(255)) contents: str = db.Column(db.String(10000)) url: str = db.Column(db.String(500)) stock: str = db.Column(db.String(30)) label: float = db.Column(db.Float) #'date', 'headline', 'contents', 'url', 'stock', 'label' def __init__(self, id, date, headline, contents, url, stock, label): self.id = id self.date = date self.headline = headline self.contents = contents self.url = url self.stock = stock self.label = label def __repr__(self): return f'id={self.id},date={self.date}, headline={self.headline},\ contents={self.contents},url={self.url},stock={self.stock},label={self.label}' @property def json(self): return { 'id': self.id, 'date': self.date, 'headline': self.headline, 'contents': self.contents, 'url': self.url, 'stock': self.stock, 'label': self.label } def save(self): db.session.add(self) db.session.commit() def delete(self): db.session.delete(self) db.session.commit() # service = NewsAnalysis() # Session = sessionmaker(bind = engine) # s = Session() # df = service.makelabel() # print(df.head()) # s.bulk_insert_mappings(NewsDto, df.to_dict(orient="records")) # s.commit() # s.close()
class NewsDto(db.Model): __tablename__ = 'korea_news' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: str = db.Column(db.Integer, primary_key=True, index=True) date: str = db.Column(db.DATETIME) headline: str = db.Column(db.Text) url: str = db.Column(db.String(500)) ticker: str = db.Column(db.String(30)) label: float = db.Column(db.Float) def __init__(self, id, date, headline, url, ticker, label): self.id = id self.date = date self.headline = headline self.url = url self.ticker = ticker self.label = label def __repr__(self): return f'id={self.id},date={self.date}, headline={self.headline},\ url={self.url},ticker={self.ticker},label={self.label}' def json(self): return { 'id': self.id, 'date': self.date, 'headline': self.headline, 'url': self.url, 'ticker': self.ticker, 'label': self.label }
class KoreaDto(db.Model): __tablename__ = 'korea_covid' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) date: str = db.Column(db.DATE) seoul_cases: int = db.Column(db.Integer) seoul_deaths: int = db.Column(db.Integer) total_cases: int = db.Column(db.Integer) total_deaths: int = db.Column(db.Integer) def __init__(self, id, date, seoul_cases, seoul_deaths, total_cases, total_deaths): self.date = date self.seoul_cases = seoul_cases self.seoul_death = seoul_deaths self.total_cases = total_cases self.total_death = total_deaths def __repr__(self): return f'id={self.id},date={self.date}, seoul_cases={self.seoul_cases},\ seoul_death={self.seoul_deaths},total_cases={self.total_cases},total_deaths={self.total_deaths}' @property def json(self): return { 'id': self.id, 'date': self.date, 'seoul_cases': self.seoul_cases, 'seoul_deaths': self.seoul_deaths, 'total_cases': self.total_cases, 'total_deaths': self.total_deaths }
class USCovidDto(db.Model): __tablename__ = 'US_Covid_cases' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) date: str = db.Column(db.Date) total_cases: int = db.Column(db.Integer) total_death: int = db.Column(db.Integer) ca_cases: int = db.Column(db.Integer) ca_death: int = db.Column(db.Integer) #date format : YYYY-MM-DD def __repr__(self): return f'USCovid(id=\'{self.id}\', date=\'{self.date}\', total_cases=\'{self.total_cases}\',\ total_death=\'{self.total_death}\',ca_cases=\'{self.ca_cases}\', \ ca_death=\'{self.ca_death}\')' @property def json(self): return { 'id': self.id, 'date': self.date, 'total_cases': self.total_cases, 'total_death': self.total_death, 'ca_cases': self.ca_cases, 'ca_death': self.ca_death, } def save(self): db.session.add(self) db.session.commit() def delete(self): db.session.delete(self) db.session.commit()
class YHFinanceDto(db.Model): __tablename__ = 'yahoo_finance' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) ticker: str = db.Column(db.String(10)) date: str = db.Column(db.Date) open: float = db.Column(db.Float) high: float = db.Column(db.Float) low: float = db.Column(db.Float) close: float = db.Column(db.Float) adjclose: float = db.Column(db.Float) volume: int = db.Column(db.BigInteger) #date format : YYYY-MM-DD # amount : unit = million def __init__(self, ticker, date, open, high, low, close, adjclose, volume): self.ticker = ticker self.date = date self.open = open self.high = high self.low = low self.close = close self.adjclose = adjclose self.volume = volume # Date,Open,High,Low,Close,Adj Close,Volume def __repr__(self): return f'YHFinance(id=\'{self.id}\',ticker=\'{self.ticker}\', date=\'{self.date}\',open=\'{self.open}\', \ high=\'{self.high}\',low=\'{self.low}\', close=\'{self.close}\',\ adjclose=\'{self.adjclose}\',volume=\'{self.volume}\')' @property def json(self): return { 'id': self.id, 'ticker': self.ticker, 'date': self.date, 'open': self.open, 'high': self.high, 'low': self.low, 'close': self.close, 'adjclose': self.adjclose, 'volume': self.volume }
class NewsDto(db.Model): __tablename__ = 'korea_recent_news' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: str = db.Column(db.Integer, primary_key=True, index=True) date: str = db.Column(db.DATETIME) headline: str = db.Column(db.String(255)) content: str = db.Column(db.Text) url: str = db.Column(db.String(500)) ticker: str = db.Column(db.String(30)) def __init__(self, id, date, headline, content, url, ticker): self.id = id self.date = date self.headline = headline self.content = content self.url = url self.ticker = ticker def __repr__(self): return f'id={self.id},date={self.date}, headline={self.headline},\ content={self.content},url={self.url},ticker={self.ticker}' def json(self): return { 'id': self.id, 'date': self.date, 'headline': self.headline, 'content': self.content, 'url': self.url, 'ticker': self.ticker }
class USCovidDto(db.Model): __tablename__ = 'US_Covid_cases' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) date: str = db.Column(db.Date) total_cases: int = db.Column(db.Integer) total_deaths: int = db.Column(db.Integer) ca_cases: int = db.Column(db.Integer) ca_deaths: int = db.Column(db.Integer) #date format : YYYY-MM-DD def __init__(self, date, total_cases, total_deaths, ca_cases, ca_deaths): self.date = date self.total_cases = total_cases self.total_deaths = total_deaths self.ca_cases = ca_cases self.ca_deaths = ca_deaths def __repr__(self): return f'USCovid(id=\'{self.id}\', date=\'{self.date}\', total_cases=\'{self.total_cases}\',\ total_deaths=\'{self.total_deaths}\',ca_cases=\'{self.ca_cases}\', \ ca_deaths=\'{self.ca_deaths}\')' @property def json(self): return { 'id': self.id, 'date': self.date, 'total_cases': self.total_cases, 'total_deaths': self.total_deaths, 'ca_cases': self.ca_cases, 'ca_deaths': self.ca_deaths, }
class CommentDto(db.Model): __tablename__ = "comments" __table_args__ = {"mysql_collate": "utf8_general_ci"} id: int = db.Column(db.Integer, primary_key=True, index=True) board_id: int = db.Column(db.Integer, db.ForeignKey(BoardDto.id), nullable=False) email: str = db.Column(db.String(100), db.ForeignKey(MemberDto.email), nullable=False) comment: str = db.Column(db.String(500), nullable=False) regdate: datetime = db.Column(db.String(1000), default=datetime.datetime.now(), nullable=False) comment_ref: int = db.Column(db.Integer, nullable=False) comment_level: int = db.Column(db.Integer, nullable=False) comment_step: int = db.Column(db.Integer, nullable=False) board = db.relationship('BoardDto', back_populates='comments') member = db.relationship('MemberDto', back_populates='comments') def __init__(self, board_id, email, comment, regdate, comment_ref, comment_level, comment_step): self.board_id = board_id self.email = email self.comment = comment self.regdate = regdate self.comment_ref = comment_ref self.comment_level = comment_level self.comment_step = comment_step def __repr__(self): return f'id={self.id}, board_id={self.board_id}, email={self.email}, comment={self.comment}, regdate={self.regdate}, ref={self.comment_ref}, level={self.comment_level}, step={self.comment_step}' @property def json(self): return { 'id': self.id, 'board_id': self.board_id, 'email': self.email, 'comment': self.comment, 'regdate': self.regdate, 'comment_ref': self.comment_ref, 'comment_level': self.comment_level, 'comment_step': self.comment_step }
class InvestingDto(db.Model): __tablename__ = 'Investing_News' __table_args__ = {'mysql_collate': 'utf8_general_ci'} # , primary_key = True, index = True id: int = db.Column(db.Integer, primary_key=True, index=True) date: str = db.Column(db.Date) ticker: str = db.Column(db.String(30)) #stock symbol link: str = db.Column(db.String(225)) headline: str = db.Column(db.String(255)) neg: float = db.Column(db.Float) pos: float = db.Column(db.Float) neu: float = db.Column(db.Float) compound: float = db.Column(db.Float) def __init__(self, date, ticker, link, headline, neg, pos, neu, compound): self.date = date self.ticker = ticker self.link = link self.headline = headline self.neg = neg self.pos = pos self.neu = neu self.compound = compound def __repr__(self): return f'Investing(id=\'{self.id}\', date=\'{self.date}\',ticker=\'{self.ticker}\',\ link=\'{self.link}\', headline=\'{self.headline}\',neg=\'{self.neg}\', \ pos=\'{self.pos}\',neu=\'{self.neu}\', compound=\'{self.compound}\',)' def json(self): return { 'id': self.id, 'date': self.date, 'ticker': self.ticker, 'link': self.link, 'headline': self.headline, 'neg': self.neg, 'pos': self.pos, 'neu': self.neu, 'compound': self.compound }
class StockDto(db.Model): __tablename__ = 'naver_finance' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) date: str = db.Column(db.DATETIME) open: int = db.Column(db.String(30)) close: int = db.Column(db.String(30)) high: int = db.Column(db.String(30)) low: int = db.Column(db.String(30)) amount: int = db.Column(db.String(30)) stock: str = db.Column(db.String(30)) def __init__(self, id, date, open, close, high, low, amount, stock): self.id = id self.date = date self.open = open self.close = close self.high = high self.low = low self.amount = amount self.stock = stock def __repr__(self): return f'id={self.id},date={self.date}, open={self.open},\ close ={self.close},high ={self.high},low ={self.low},amount ={self.amount},stock ={self.stock}' @property def json(self): return { 'id': self.id, 'finance': self.date, 'open': self.open, 'close': self.close, 'high': self.high, 'low': self.low, 'amount': self.amount, 'stock': self.stock } def save(self): db.session.add(self) db.session.commit() def delete(self): db.session.delete(self) db.session.commit()
class YHNewsDto(db.Model): __tablename__ = 'Yahoo_News' __table_args__={'mysql_collate':'utf8_general_ci'} # , primary_key = True, index = True id: int = db.Column(db.Integer, primary_key = True, index = True) date : str = db.Column(db.Date) ticker : str = db.Column(db.String(30)) #stock symbol headline : str = db.Column(db.String(255)) neg : float = db.Column(db.Float) pos : float = db.Column(db.Float) neu : float = db.Column(db.Float) compound :float = db.Column(db.Float) def __repr__(self): return f'User(id=\'{self.id}\', date=\'{self.date}\',ticker=\'{self.ticker}\',\ headline=\'{self.headline}\',neg=\'{self.neg}\', \ pos=\'{self.pos}\',neu=\'{self.neu}\', \ compound=\'{self.compound}\',)' @property def json(self): return { 'id': self.id, 'date' : self.date, 'ticker' : self.ticker, 'headline' : self.headline, 'neg' : self.neg, 'pos' : self.pos, 'neu' : self.neu, 'compound' : self.compound } def save(self): db.session.add(self) db.session.commit() def delete(self): db.session.delete(self) db.session.commit()
class PredictionDto(db.Model): __tablename__ = 'NASDAQ_prediction' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) date: str = db.Column(db.Date) ticker: str = db.Column(db.String(30)) pred_price: float = db.Column(db.Float) stock_id: int = db.Column(db.Integer, db.ForeignKey(YHFinanceDto.id)) covid_id: int = db.Column(db.Integer, db.ForeignKey(USCovidDto.id)) news_id: int = db.Column(db.Integer, db.ForeignKey(YHNewsDto.id)) def __init__(self, ticker, date, pred_price, stock_id, covid_id, news_id): self.date = date self.ticker = ticker self.pred_price = pred_price self.stock_id = stock_id self.covid_id = covid_id self.news_id = news_id def __repr__(self): return f'Prediction(id=\'{self.id}\',date=\'{self.date}\',\ ticker=\'{self.ticker}\',date=\'{self.date}\',pred_price=\'{self.pred_price}\',\ stock_id=\'{self.stock_id}\',covid_id=\'{self.covid_id}\', news_id=\'{self.news_id}\' )' @property def json(self): return { 'id': self.id, 'date': self.date, 'ticker': self.ticker, 'pred_price': self.pred_price, 'stock_id': self.stock_id, 'covid_id': self.covid_id, 'news_id': self.news_id } def save(self): db.session.add(self) db.session.commit() def delete(self): db.session.delete(self) db.session.commint()
class YHFinanceDto(db.Model): __tablename__ = 'Yahoo_Finance' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) date: str = db.Column(db.Date) open: float = db.Column(db.Float) close: float = db.Column(db.Float) adjclose: float = db.Column(db.Float) high: float = db.Column(db.Float) low: float = db.Column(db.Float) amount: int = db.Column(db.Integer) #date format : YYYY-MM-DD # amount : unit = million def __repr__(self): return f'YHFinance(id=\'{self.id}\', date=\'{self.date}\',open=\'{self.open}\', \ close=\'{self.close}\',adjclose=\'{self.adjclose}\',high=\'{self.high}\',\ low=\'{self.low}\',amount=\'{self.amount}\')' @property def json(self): return { 'id': self.id, 'date': self.date, 'open': self.open, 'close': self.close, 'adjclose': self.adjclose, 'high': self.high, 'low': self.low, 'amount': self.amount, 'date': self.date } def save(self): db.session.add(self) db.session.commit() def delete(self): db.session.delete(self) db.session.commit()
class KospiDto(db.Model): __tablename__ = 'kospi_pred' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) date: str = db.Column(db.DATETIME) stock: int = db.Column(db.VARCHAR(30)) price: int = db.Column(db.VARCHAR(30)) covid_id: int = db.Column(db.Integer, db.ForeignKey(KoreaDto.id)) stock_id: int = db.Column(db.Integer, db.ForeignKey(StockDto.id)) news_id: int = db.Column(db.Integer, db.ForeignKey(NewsDto.id)) def __init__(self, id, date, covid_id, stock_id, news_id, stock, price): self.id = id self.date = date self.covid_id = covid_id self.stock_id = stock_id self.news_id = news_id self.stock = stock self.price = price def __repr__(self): return f'id={self.id},date={self.date},covid_id ={self.covid_id },stock_id={self.sstock_id},news_id={self.news_id}, stock={self.stock},\ price={self.price}' @property def json(self): return { 'id': self.id, 'date': self.date, 'covid_id': self.covid_id, 'stock_id': self.stock_id, 'news_id': self.news_id, 'stock': self.stock, 'price': self.price } def save(self): db.session.add(self) db.session.commit() def delete(self): db.session.delete(self) db.session.commit()
class StockDto(db.Model): __tablename__ = 'korea_finance' __table_args__ = {'mysql_collate':'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key = True, index = True) date : str = db.Column(db.String(100)) open : int = db.Column(db.String(30)) close : int = db.Column(db.String(30)) high : int = db.Column(db.String(30)) low :int = db.Column(db.String(30)) volume : int = db.Column(db.String(30)) ticker : str = db.Column(db.String(30)) def __init__(self,id, date, open, close, high, low, volume, ticker): self.id = id self.date = date self.open = open self.close = close self.high = high self.low = low self.volume = volume self.ticker = ticker def __repr__(self): return f'id={self.id}, date={self.date}, open={self.open},\ close={self.close}, high={self.high}, low={self.low}, volume={self.volume}, ticker={self.ticker}' def json(self): return { 'id':self.id, 'date': self.date, 'open': self.open, 'close': self.close, 'high': self.high, 'low': self.low, 'volume': self.volume, 'ticker' : self.ticker }
class RecentNewsDto(db.Model): __tablename__ = 'US_Recent_News' __table_args__={'mysql_collate':'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key = True, index = True) date: str = db.Column(db.Date) time: str = db.Column(db.Time()) ticker: str = db.Column(db.String(30)) link: str = db.Column(db.Text) headline: str = db.Column(db.String(225)) image: str = db.Column(db.Text) content : str = db.Column(db.Text) #date format : YYYY-MM-DD def __init__(self, date, time, ticker, link, headline, image, content): self.date = date self.time = time self.ticker = ticker self.link = link self.headline = headline self.image = image self.content = content def __repr__(self): return f'US_RecentNews(id=\'{self.id}\', date=\'{self.date}\', time=\'{self.time}\',\ ticker=\'{self.ticker}\',link=\'{self.link}\', headline=\'{self.headline}\'\ image=\'{self.image}\', content=\'{self.content}\')' @property def json(self): return { 'id' : self.id, 'date' : self.date, 'time' : self.time, 'ticker' : self.ticker, 'link' : self.link, 'headline' : self.headline, 'image' : self.image, 'content' : self.content }
class BoardDto(db.Model): __tablename__ = 'boards' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) email: str = db.Column(db.String(100), db.ForeignKey(MemberDto.email), nullable=False) article_type: str = db.Column(db.String(50), nullable=False) title: str = db.Column(db.String(50), nullable=False) content: str = db.Column(db.String(20000), nullable=False) regdate: datetime = db.Column(db.String(1000), default=datetime.datetime.now()) member = db.relationship('MemberDto', back_populates='boards') comments = db.relationship('CommentDto', back_populates='board', lazy='dynamic') def __init__(self, email, article_type, title, content, regdate): self.email = email self.article_type = article_type self.title = title self.content = content self.regdate = regdate def __repr__(self): return 'Board(id={}, email={}, article_type={}, title={}, content={}, regdate={})'.format( self.id, self.email, self.article_type, self.title, self.content, self.regdate) @property def json(self): return { 'id': self.id, 'email': self.email, 'article_type': self.article_type, 'title': self.title, 'content': self.content, 'regdate': self.regdate } def save(self): db.session.add(self) db.commit() def delete(self): db.session.delete(self) db.commit()
class TradingDto(db.Model): __tablename__ = "tradings" __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) email: str = db.Column(db.String(100), db.ForeignKey(MemberDto.email), nullable=False) stock_type: str = db.Column(db.String(20), nullable=False) stock_ticker: str = db.Column(db.String(50), nullable=False) stock_qty: int = db.Column(db.Integer, nullable=False) price: float = db.Column(db.FLOAT, nullable=False) trading_date: str = db.Column(db.String(50), default=datetime.datetime.now()) member = db.relationship('MemberDto', back_populates='tradings') def __init__(self, email, stock_type, stock_ticker, stock_qty, price, trading_date): self.email = email self.stock_type = stock_type self.stock_ticker = stock_ticker self.stock_qty = stock_qty self.price = price self.trading_date = trading_date def __repr__(self): return 'Trading(trading_id={}, email={}, stock_type={}, stock_ticker={}, stock_qty={}, price={}, trading_date={})'.format( self.id, self.email, self.stock_type, self.stock_ticker, self.stock_qty, self.price, self.trading_date) @property def json(self): return { 'id': self.id, 'email': self.email, 'stock_type': self.stock_type, 'stock_ticker': self.stock_ticker, 'stock_qty': self.stock_qty, 'price': self.price, 'trading_date': self.trading_date }
class KospiDto(db.Model): __tablename__ = 'kospi_pred' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: str = db.Column(db.Integer, primary_key=True, index=True) date: str = db.Column(db.DATE) ticker: str = db.Column(db.VARCHAR(30)) pred_price: int = db.Column(db.VARCHAR(30)) covid_id: str = db.Column(db.Integer, db.ForeignKey(KoreaDto.id)) stock_id: str = db.Column(db.Integer, db.ForeignKey(StockDto.id)) news_id: str = db.Column(db.Integer, db.ForeignKey(NewsDto.id)) def __init__(self, id, date, covid_id, stock_id, news_id, ticker, pred_price): self.id = id self.date = date self.covid_id = covid_id self.stock_id = stock_id self.news_id = news_id self.ticker = ticker self.pred_price = pred_price def __repr__(self): return f'id={self.id},date={self.date},covid_id ={self.covid_id },stock_id={self.stock_id},news_id={self.news_id}, ticker={self.ticker},\ pred_price={self.pred_price}' @property def json(self): return { 'id': self.id, 'date': self.date, 'covid_id': self.covid_id, 'stock_id': self.stock_id, 'news_id': self.news_id, 'ticker': self.ticker, 'pred_price': self.pred_price }
class TradingDto(db.Model): __tablename__ = "tradings" __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) email: str = db.Column(db.String(100), db.ForeignKey(MemberDto.email), nullable=False) kospi_stock_id: int = db.Column(db.Integer, db.ForeignKey(StockDto.id)) nasdaq_stock_id: int = db.Column(db.Integer, db.ForeignKey(YHFinanceDto.id)) stock_qty: int = db.Column(db.Integer, nullable=False) price: float = db.Column(db.FLOAT, nullable=False) trading_date: str = db.Column(db.String(1000), default=datetime.datetime.now()) def __init__(self, id, email, kospi_stock_id, nasdaq_stock_id, stock_qty, price, trading_date): self.id = id self.email = email self.kospi_stock_id = kospi_stock_id self.nasdaq_stock_id = nasdaq_stock_id self.stock_qty = stock_qty self.price = price self.trading_date = trading_date def __repr__(self): return 'Trading(trading_id={}, member_id={}, kospi_stock_id={}, nasdaq_stock_id={}, stock_qty={}, price={}, trading_date={})'.format(self.id, self.member_id, self.kospi_stock_id, self.nasdaq_stock_id, self.stock_qty, self.price, self.trading_date) @property def json(self): return { 'id': self.id, 'member_id': self.member_id, 'kospi_stock_id': self.kospi_stock_id, 'nasdaq_stock_id': self.nasdaq_stock_id, 'stock_qty': self.stock_qty, 'price': self.price, 'trading_date': self.trading_date }
class KoreaDto(db.Model): __tablename__ = 'korea_covid' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) date: str = db.Column(db.DATETIME) seoul_cases: int = db.Column(db.String(30)) seoul_death: int = db.Column(db.String(30)) total_cases: int = db.Column(db.String(30)) total_death: int = db.Column(db.String(30)) def __init__(self, id, date, seoul_cases, seoul_death, total_cases, total_death): self.date = date self.seoul_cases = seoul_cases self.seoul_death = seoul_death self.total_cases = total_cases self.total_death = total_death def __repr__(self): return f'id={self.id},date={self.date}, seoul_cases={self.seoul_cases},\ seoul_death={self.seoul_death},total_cases={self.total_cases},total_deatb={self.total_death}' @property def json(self): return { 'id': self.id, 'date': self.date, 'seoul_cases': self.seoul_cases, 'seoul_death': self.seoul_death, 'total_cases': self.total_cases, 'total_death': self.total_death } def save(self): db.session.add(self) db.session.commit() def delete(self): db.session.delete(self) db.session.commit()
class MemberDto(db.Model): __tablename__ = "members" __table_args__ = {"mysql_collate": "utf8_general_ci"} email: str = db.Column(db.String(100), primary_key=True, index=True) password: str = db.Column(db.String(50), nullable=False) name: str = db.Column(db.String(50), nullable=False) profile: str = db.Column(db.String(200), default='noimage.png') geography: str = db.Column(db.String(50)) gender: str = db.Column(db.String(10)) age: int = db.Column(db.Integer) tenure: int = db.Column(db.Integer, default=0) stock_qty: int = db.Column(db.Integer, default=0) balance: float = db.Column(db.FLOAT, default=0.0) has_credit: int = db.Column(db.Integer) credit_score: int = db.Column(db.Integer) is_active_member: int = db.Column(db.Integer, nullable=False, default=1) estimated_salary: float = db.Column(db.FLOAT) role: str = db.Column(db.String(30), nullable=False, default='ROLE_USER') probability_churn: float = db.Column(db.FLOAT, default=-1) exited: int = db.Column(db.Integer, nullable=False, default=0) tradings = db.relationship('TradingDto', back_populates='member', lazy='dynamic') boards = db.relationship('BoardDto', back_populates='member', lazy='dynamic') comments = db.relationship('CommentDto', back_populates='member', lazy='dynamic') def __init__(self, email, password, name, profile, geography, gender, age, tenure, stock_qty, balance, has_credit, credit_score, is_active_member, estimated_salary, role, probability_churn, exited): self.email = email self.password = password self.name = name self.profile = profile self.geography = geography self.gender = gender self.age = age self.tenure = tenure self.stock_qty = stock_qty self.balance = balance self.has_credit = has_credit self.credit_score = credit_score self.is_active_member = is_active_member self.estimated_salary = estimated_salary self.role = role self.probability_churn = probability_churn self.exited = exited def __repr__(self): return 'Member(email={}, password={},'\ 'name={}, profile={}, geography={}, gender={}, age={}, tenure={}, stock_qty={}, balance={},'\ 'hasCrCard={}, credit_score={}, isActiveMember={}, estimatedSalary={}, role={}, probability_churn={}, exited={}'\ .format(self.email, self.password, self.name, self.profile, self.geography, self.gender, self.age, self.tenure, self.stock_qty, self.balance, self.has_credit, self.credit_score, self.is_active_member, self.estimated_salary, self.role, self.probability_churn, self.exited) @property def json(self): return { 'email': self.email, 'password': self.password, 'name': self.name, 'profile': self.profile, 'geography': self.geography, 'gender': self.gender, 'age': self.age, 'tenure': self.tenure, 'stock_qty': self.stock_qty, 'balance': self.balance, 'has_credit': self.has_credit, 'credit_score': self.credit_score, 'is_active_member': self.is_active_member, 'estimated_salary': self.estimated_salary, 'role': self.role, 'probability_churn': self.probability_churn, 'exited': self.exited }
class NasdaqPredictionDto(db.Model): __tablename__ = 'NASDAQ_prediction' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: int = db.Column(db.Integer, primary_key=True, index=True) ticker: str = db.Column(db.String(30)) date: str = db.Column(db.Date) pred_price: float = db.Column(db.Float) open: float = db.Column(db.Float) high: float = db.Column(db.Float) low: float = db.Column(db.Float) close: float = db.Column(db.Float) stock_id: int = db.Column(db.Integer, db.ForeignKey(YHFinanceDto.id)) covid_id: int = db.Column(db.Integer, db.ForeignKey(USCovidDto.id)) news_id: int = db.Column(db.Integer, db.ForeignKey(InvestingDto.id)) def __init__(self, ticker, date, pred_price, open, high, low, close, stock_id, covid_id, news_id): self.ticker = ticker self.date = date self.pred_price = pred_price self.open = open self.high = high self.low = low self.close = close self.stock_id = stock_id self.covid_id = covid_id self.news_id = news_id def __repr__(self): return f'NASDAQ_Prediction(id=\'{self.id}\',ticker=\'{self.ticker}\',date=\'{self.date}\', pred_price=\'{self.pred_price}\',\ open=\'{self.open}\',high=\'{self.high}\',low=\'{self.low}\',close=\'{self.close}\',\ stock_id=\'{self.stock_id}\',covid_id=\'{self.covid_id}\', news_id=\'{self.news_id}\' )' @property def json(self): return { 'id': self.id, 'ticker': self.ticker, 'date': self.date, 'pred_price': self.pred_price, 'open': self.open, 'high': self.high, 'low': self.low, 'close': self.close, 'stock_id': self.stock_id, 'covid_id': self.covid_id, 'news_id': self.news_id } def save(self): db.session.add(self) db.session.commit() def delete(self): db.session.delete(self) db.session.commint()
class KospiDto(db.Model): __tablename__ = 'kospi_pred' __table_args__ = {'mysql_collate': 'utf8_general_ci'} id: str = db.Column(db.Integer, primary_key=True, index=True) date: str = db.Column(db.DATE) ticker: str = db.Column(db.VARCHAR(30)) pred_price: int = db.Column(db.VARCHAR(30)) open: float = db.Column(db.Float) high: float = db.Column(db.Float) low: float = db.Column(db.Float) close: float = db.Column(db.Float) covid_id: str = db.Column(db.Integer, db.ForeignKey(KoreaDto.id)) stock_id: str = db.Column(db.Integer, db.ForeignKey(StockDto.id)) news_id: str = db.Column(db.Integer, db.ForeignKey(NewsDto.id)) def __init__(self, id, date, covid_id, stock_id, news_id, ticker, pred_price, open, high, low, close): self.id = id self.date = date self.covid_id = covid_id self.stock_id = stock_id self.news_id = news_id self.ticker = ticker self.pred_price = pred_price self.open = open self.high = high self.low = low self.cloese = close def __repr__(self): return f'id={self.id},date={self.date},covid_id ={self.covid_id },stock_id={self.stock_id},news_id={self.news_id}, ticker={self.ticker},\ pred_price={self.pred_price},open={self.open},high={self.high},low={self.low},close={self.close}' @property def json(self): return { 'id': self.id, 'date': self.date, 'covid_id': self.covid_id, 'stock_id': self.stock_id, 'news_id': self.news_id, 'ticker': self.ticker, 'pred_price': self.pred_price, 'open': self.open, 'low': self.low, 'high': self.high, 'close': self.close }