def get_datas(s): init('a', s) symbol = '002192' exchange = Exchange('SZ') day = Interval.DAILY start = datetime(2019, 1, 1) end = datetime(2019, 6, 3) data = MongoManager() datas = data.load_bar_data(symbol, exchange, day, start, end) bars = pd.DataFrame(columns=['open', 'close', 'low', 'high', 'volume', 'openInterest']) opens = [data.open_price for data in datas] closes = [data.close_price for data in datas] low = [data.low_price for data in datas] high = [data.high_price for data in datas] volume = [data.volume for data in datas] datetimes=[data.datetime for data in datas] bars['open'] = opens bars['close'] = closes bars['low'] = low bars['high'] = high bars['volume'] = volume bars['openInterest'] = 0 bars['datetime'] = datetimes return bars
def __init__(self, settings=None, database_manager=None): if settings: self.settings = settings else: self.settings = Settings() self.token = 'bfbf67e56f47ef62e570fc6595d57909f9fc516d3749458e2eb6186a' ts.set_token(self.token) # self.pro = ts.pro_api(self.token) if not database_manager: self.database_manager = init('_', self.settings) else: self.database_manager = database_manager
import pprint from datetime import datetime from base_database.database_mongo import init, MongoManager from base_utils.constant import Interval, Exchange from settings.setting import Settings s = Settings() init('a', s) symbol = '002192' data = MongoManager() exchange = Exchange('SZ') day = Interval.DAILY # 最新价 # newest_bar = data.get_newest_bar_data('002192',Exchange.SZ,Interval.DAILY) # print(newest_bar) # 指定日期价 start = datetime(2019, 1, 1) end = datetime(2019, 6, 3) # date = start.strftime('%Y-%m-%d') # print(date) datas = data.load_bar_data(symbol, exchange, day, start, end) # # print(datas) # # # # d =d # print(datas[0]) print(pprint.pformat(datas))
import matplotlib.pyplot as plt import numpy as np import pandas as pd from base_database.database_mongo import init from base_utils.constant import Interval, Exchange from settings.setting import Settings """ 单期收益率 多期收益率 """ s = Settings() dbm = init('_', s) start = datetime(2018, 11, 23) end = datetime(2020, 4, 20) RJ = dbm.load_bar_dataframe_data('002192', Exchange.SZ, Interval.DAILY, start, end) # print(RJ) print(RJ['2018']) close = RJ['close_price'] lagclose = close.shift(1) Calclose = pd.DataFrame({'close': close, 'lagclose': lagclose}) # print(Calclose.head(5)) simpleret = (close - lagclose) / lagclose simpleret.name = 'simpleret' # print(simpleret.head(5))
from datetime import datetime from PyQt5 import QtCore, QtGui, QtWidgets from base_database.database_mongo import init from base_utils.constant import Exchange, Interval from settings.setting import Settings from ui import create_qapp s = Settings() app = create_qapp(s) database_manager = init('_', s) bars = database_manager.load_bar_data("002192", Exchange.SZ, interval=Interval.DAILY, start=datetime(2015, 1, 1), end=datetime(2019, 8, 14)) class TimeLine(QtWidgets.QWidget): def __init__(self, parent=None): QtWidgets.QWidget.__init__(self, parent) # self.setMinimumSize(640, 430) # 设置窗口最小尺寸 self.setGeometry(300, 300, 960, 650) self.setWindowTitle('分时行情走势') self.setStyleSheet("QWidget { background-color: black }") # self.setMouseTracking(True) self.m_x = 0 # 光标x轴位置 self.m_y = 0 # 光标y轴位置
from base_database.database import BaseDatabaseManager from base_database.database_mongo import init from settings.setting import Settings # def init(settings: dict) -> BaseDatabaseManager: # driver = Driver(settings["driver"]) # if driver is Driver.MONGODB: # return init_nosql(driver=driver, settings=settings) # # else: # # return init_sql(driver=driver, settings=settings) # # # def init_nosql(driver: Driver, settings: dict): # from .database_mongo import init # _database_manager = init(driver, settings=settings) # return _database_manager settings = Settings() database_manager: "BaseDatabaseManager" = init('_',settings=settings)