def __init__(self): self.settings = Settings() self.settings.setmodule("PowerShare.setting", priority="project") self.engine = init_engine()
class FSCHReader(object): def __init__(self): self.settings = Settings() self.settings.setmodule("PowerShare.setting", priority="project") self.engine = init_engine() def get_turnover_ratio(self, trade_id): """ 获取成交占比的详细信息 :return: """ df = pd.read_sql( "select * from `fsch_loadchartsprice` where trade_id='{trade_id}'". format(trade_id=trade_id), self.engine) return df def get_ticket_data(self, trade_id, windows_size=10): """ 获取盘口的ticket数据 :param trade_id: :param windows_size: max 50 :return: """ df = pd.read_sql( "select * from `复式撮合盘口信息` where trade_id = '{trade_id}'".format( trade_id=trade_id), self.engine) return df def get_pankou(self, trade_id): pass def get_trade_record(self, trade_id): """ 获取成交记录信息 :param trade_id: :return: """ df1 = pd.read_sql( "select * from `fsch_loadZpData` where trade_id='{trade_id}'". format(trade_id=trade_id), self.engine) unique_df = df1.drop_duplicates(subset=["time", "energy", "price"], keep="first") return unique_df def get_declare_info_g(self, trade_id): """ 购电方的申报信息 :param trade_id: :return: """ gouf_df = pd.read_sql( "select * from `fsch_declare_loadGfData` where trade_id='{trade_id}'" .format(trade_id=trade_id), self.engine) return gouf_df def get_declare_info_s(self, trade_id): """ 售电方申报信息 :param trade_id: :return: """ gouf_df = pd.read_sql( "select * from `fsch_declare_loadSfData` where trade_id='{trade_id}'" .format(trade_id=trade_id), self.engine) return gouf_df
def from_setting(cls, setting_module): s = cls() setting = Settings() setting.setmodule(setting_module, priority="user") s.settings = setting return s
# @Author : LiangLiang # @Site : # @File : trade.py # @Software: PyCharm import os, sys import sys, os basedir = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) sys.path.append(os.path.dirname(basedir)) sys.path.append(basedir) import pandas as pd from sqlalchemy.orm.session import sessionmaker from PowerShare.settings import Settings from PowerShare.func.sql_orm_types import * from PowerShare.utils.db_manage import init_engine settings = Settings() setting_path = "PowerShare.setting" settings.setmodule(setting_path, priority="project") def get_trade_data(start_time, end_time, trade_id): engine = init_engine() df = pd.read_sql( "select * from fsch_declare_loadDataByTime where trade_id = {trade_id}" .format(trade_id=trade_id), engine) return df def get_basic_trade_table(): engine = init_engine() basic_table = settings["TRADE_TABLE"]
def __init__(self): self.fsch = FSCHReader() self.jzzr = JZZRReader() self.gpjy = GPJYReader() self.settging = Settings()