From 66a5e09969374d23ed008e5e761ad5393e01a3a9 Mon Sep 17 00:00:00 2001 From: duanhaoran Date: Wed, 4 Dec 2024 13:17:37 +0800 Subject: [PATCH 1/8] =?UTF-8?q?func(service):=E6=96=B0=E5=A2=9E=E5=9B=9E?= =?UTF-8?q?=E6=B5=8B=E7=AD=96=E7=95=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- instock/core/backtest/Chan.py | 207 +++++++++++++ instock/core/backtest/back_trader.py | 81 +++++ instock/core/backtest/backtrader_manager.py | 145 +++++++++ instock/core/backtest/base_strategy.py | 127 ++++++++ instock/core/backtest/strategy_group.py | 284 ++++++++++++++++++ instock/core/backtest/strategy_tester.py | 123 ++++++++ .../core/backtest/volume_break_strategy.py | 53 ++++ instock/core/singleton_stock.py | 4 +- instock/job/indicators_data_daily_job.py | 3 +- instock/lib/trade_time.py | 2 +- requirements.txt | 5 +- 11 files changed, 1028 insertions(+), 6 deletions(-) create mode 100644 instock/core/backtest/Chan.py create mode 100644 instock/core/backtest/back_trader.py create mode 100644 instock/core/backtest/backtrader_manager.py create mode 100644 instock/core/backtest/base_strategy.py create mode 100644 instock/core/backtest/strategy_group.py create mode 100644 instock/core/backtest/strategy_tester.py create mode 100644 instock/core/backtest/volume_break_strategy.py diff --git a/instock/core/backtest/Chan.py b/instock/core/backtest/Chan.py new file mode 100644 index 0000000000..62369cfad5 --- /dev/null +++ b/instock/core/backtest/Chan.py @@ -0,0 +1,207 @@ +import os +import random +import sys +from datetime import datetime, timedelta + +import backtrader as bt +import pandas as pd +import matplotlib + +from instock.core.backtest.base_strategy import BaseStrategy +from instock.core.singleton_stock import stock_hist_data, stock_data +from instock.lib.singleton_type import singleton_type +import instock.core.tablestructure as tbs + +cpath_current = os.path.dirname(os.path.dirname(__file__)) +cpath = os.path.abspath(os.path.join(cpath_current, os.pardir)) +sys.path.append(cpath) + +class ChanKline: + def __init__(self, open, high, low, close, date): + self.open = open + self.high = high + self.low = low + self.close = close + self.date = date + +class Segment: + def __init__(self, start, end, direction): + self.start = start + self.end = end + self.direction = direction # 1 for up, -1 for down + +class Pivot: + def __init__(self, kline, type): + self.kline = kline + self.type = type # 'high' or 'low' + +class CentralZone: + def __init__(self, start, end): + self.start = start + self.end = end + self.high = max(start.high, end.high) + self.low = min(start.low, end.low) + +class ChanIndicator(bt.Indicator): + lines = ('buy_signal', 'sell_signal') + params = (('period', 20), + ('stop_loss', 0.65), # 10% 止损 + ) + + def __init__(self): + self.addminperiod(self.params.period) + self.merged_klines = [] + self.segments = [] + self.pivots = [] + self.central_zones = [] + self.stop_loss_price = {} # 用于记录每个数据源的止损价格 + + def next(self): + current_kline = ChanKline(self.data.open[0], self.data.high[0], self.data.low[0], self.data.close[0], self.data.datetime.date(0)) + self.merge_klines(current_kline) + self.identify_pivots() + self.identify_segments() + self.identify_central_zones() + + self.lines.buy_signal[0] = self.is_buy_point() + self.lines.sell_signal[0] = self.is_sell_point() + + def merge_klines(self, new_kline): + if not self.merged_klines: + self.merged_klines.append(new_kline) + return + + last_kline = self.merged_klines[-1] + if (new_kline.high > last_kline.high and new_kline.low < last_kline.low) or \ + (new_kline.high < last_kline.high and new_kline.low > last_kline.low): + merged_kline = ChanKline( + last_kline.open, + max(last_kline.high, new_kline.high), + min(last_kline.low, new_kline.low), + new_kline.close, + new_kline.date + ) + self.merged_klines[-1] = merged_kline + else: + self.merged_klines.append(new_kline) + + def identify_pivots(self): + if len(self.merged_klines) < 3: + return + + for i in range(1, len(self.merged_klines) - 1): + prev, curr, next = self.merged_klines[i-1:i+2] + if curr.high > prev.high and curr.high > next.high: + self.pivots.append(Pivot(curr, 'high')) + elif curr.low < prev.low and curr.low < next.low: + self.pivots.append(Pivot(curr, 'low')) + + def identify_segments(self): + if len(self.pivots) < 2: + return + + for i in range(len(self.pivots) - 1): + start, end = self.pivots[i], self.pivots[i+1] + if start.type != end.type: + direction = 1 if start.type == 'low' else -1 + self.segments.append(Segment(start.kline, end.kline, direction)) + + def identify_central_zones(self): + if len(self.segments) < 3: + return + + for i in range(len(self.segments) - 2): + seg1, seg2, seg3 = self.segments[i:i+3] + if seg1.direction != seg3.direction: + overlap_high = min(seg1.end.high, seg2.end.high, seg3.start.high) + overlap_low = max(seg1.end.low, seg2.end.low, seg3.start.low) + if overlap_high > overlap_low: + self.central_zones.append(CentralZone(seg1.end, seg3.start)) + + def is_buy_point(self): + if not self.central_zones: + return 0 + + last_zone = self.central_zones[-1] + last_kline = self.merged_klines[-1] + prev_kline = self.merged_klines[-2] + + # 第一次突破中枢 + if prev_kline.close <= last_zone.high and last_kline.close > last_zone.high: + return 1 + + # 回调后收盘价高于中枢 + if self.lines.buy_signal[-1] == 1 and last_kline.close > last_zone.high: + return 2 + + # 回调跌破中枢 + if self.lines.buy_signal[-1] == 1 and last_kline.close <= last_zone.high: + return 3 + + return 0 + + def is_sell_point(self): + if not self.central_zones: + return 0 + + last_zone = self.central_zones[-1] + last_kline = self.merged_klines[-1] + + # 第一类卖点:向上离开中枢后回调不升破中枢 + # if last_kline.high < last_zone.high and last_kline.close < last_zone.low: + # return 1 + + # 第二类卖点:在中枢中震荡后向下突破 + if last_kline.close < last_zone.low and self.merged_klines[-2].close >= last_zone.low: + return 2 + + return 0 + + def is_divergence(self, seg1, seg2): + # 简单的背驰判断,可以根据实际需求进行调整 + price_change1 = abs(seg1.end.close - seg1.start.close) + price_change2 = abs(seg2.end.close - seg2.start.close) + volume1 = sum([k.close for k in self.merged_klines[self.merged_klines.index(seg1.start):self.merged_klines.index(seg1.end)+1]]) + volume2 = sum([k.close for k in self.merged_klines[self.merged_klines.index(seg2.start):self.merged_klines.index(seg2.end)+1]]) + return (seg1.direction == seg2.direction) and (price_change2 > price_change1) and (volume2 < volume1) + +class ChanStrategy(BaseStrategy): + params = ( + ('maperiod', 20), + ) + + def __init__(self): + super().__init__() + self.chan_indicators = {} + for d in self.datas: + self.chan_indicators[d] = ChanIndicator(d, period=self.params.maperiod) + + def next(self): + for data in self.datas: + self.process_data(data) + self.check_sell_strategy(data) + + def process_data(self, data): + if self.orders.get(data): + return + + position = self.getposition(data) + buy_signal = self.chan_indicators[data].buy_signal[0] + + if not position: + if buy_signal == 2: + self.log(f'创建买入订单: {data._name} (回调后收盘价高于中枢), 价格: {data.close[0]}') + self.buy_stock(data) + elif buy_signal == 3: + self.log(f'回调跌破中枢: {data._name}, 价格: {data.close[0]}') + self.orders[data] = 'waiting' + else: + if buy_signal == 3 and self.orders.get(data) == 'waiting': + if data.close[0] < data.low[-1]: + self.log(f'创建卖出订单: {data._name} (跌破中枢后创新低), 价格: {data.close[0]}') + self.close(data) + else: + self.log(f'继续持有: {data._name} (跌破中枢但未创新低), 价格: {data.close[0]}') + self.orders[data] = None + + diff --git a/instock/core/backtest/back_trader.py b/instock/core/backtest/back_trader.py new file mode 100644 index 0000000000..2a544089b6 --- /dev/null +++ b/instock/core/backtest/back_trader.py @@ -0,0 +1,81 @@ +import os +import random +import sys +from datetime import datetime, timedelta + +import backtrader as bt +import pandas as pd +import matplotlib +from instock.core.singleton_stock import stock_hist_data, stock_data +from instock.lib.singleton_type import singleton_type +import instock.core.tablestructure as tbs + +cpath_current = os.path.dirname(os.path.dirname(__file__)) +cpath = os.path.abspath(os.path.join(cpath_current, os.pardir)) +sys.path.append(cpath) + + +class CustomStrategy(bt.Strategy): + params = ( + ('maperiod5', 5), + ('maperiod13', 13), + ) + + def __init__(self): + self.dataclose = self.datas[0].close + self.order = None + self.buyprice = None + self.buycomm = None + self.m5 = bt.indicators.SimpleMovingAverage( + self.datas[0], period=self.params.maperiod5) + self.m13 = bt.indicators.SimpleMovingAverage( + self.datas[0], period=self.params.maperiod13) + + def next(self): + if self.order: + return + + if not self.position: + if self.m5[0] > self.m13[0]: + self.order = self.buy(price=self.m5[0]) + else: + if self.dataclose[0] < self.m5[0]: + self.order = self.sell(price=self.m13[0]) + +class back_test(metaclass=singleton_type): + def bt_strategy(self, date=None): + if date is None: + date = datetime.now() - timedelta(days=-1) + data = self.get_data(date, rand_num=5) + cerebro = bt.Cerebro() + cerebro.addstrategy(CustomStrategy) + cerebro.broker.set_cash(100000.0) + cerebro.addsizer(bt.sizers.PercentSizer, percents=50) + cerebro.broker.setcommission(commission=0.001) + for d in data: + cerebro.adddata(d) + cerebro.run() + cerebro.plot() + + def get_data(self, date, rand_num=100): + columns_ = stock_data(date).get_data()[list(tbs.TABLE_CN_STOCK_FOREIGN_KEY['columns'])] + stocks = [tuple(x) for x in columns_.values] + random_stocks = random.sample(stocks, rand_num) + data_list = [] + df = stock_hist_data(date=date, stocks=random_stocks).get_data() + for idx, row in df.items(): + if len(row) <= 100: + continue + row['datetime'] = pd.to_datetime(row['date']) + row.set_index('datetime', inplace=True) + data = bt.feeds.PandasData( + dataname=row + ) + data_list.append(data) + + return data_list + + +if __name__ == '__main__': + test = back_test() + test.bt_strategy() diff --git a/instock/core/backtest/backtrader_manager.py b/instock/core/backtest/backtrader_manager.py new file mode 100644 index 0000000000..657c8fd79f --- /dev/null +++ b/instock/core/backtest/backtrader_manager.py @@ -0,0 +1,145 @@ +import os +import random +import sys +from datetime import datetime, timedelta + +import backtrader as bt +import matplotlib +import matplotlib.dates as mdates +import numpy as np +import pandas as pd +from matplotlib import pyplot as plt + +import instock.core.tablestructure as tbs +from instock.core.backtest.Chan import ChanStrategy +from instock.core.backtest.volume_break_strategy import VolumeBreakStrategy +from instock.core.singleton_stock import stock_hist_data, stock_data +from instock.lib.singleton_type import singleton_type + +cpath_current = os.path.dirname(os.path.dirname(__file__)) +cpath = os.path.abspath(os.path.join(cpath_current, os.pardir)) +sys.path.append(cpath) + + +class back_test(metaclass=singleton_type): + def bt_strategy(self, date=None, strategy=None): + if date is None: + date = datetime.now() - timedelta(days=1) + if strategy is None: + raise Exception("策略类为空") + data = self.get_data(date, rand_num=2) + cerebro = bt.Cerebro() + cerebro.addstrategy(strategy) + cerebro.broker.set_cash(100000.0) + cerebro.addsizer(bt.sizers.PercentSizer, percents=50) + cerebro.broker.setcommission(commission=0.0001) + for d in data: + cerebro.adddata(d) + + cerebro.run() + + # 计算收益率 + initial_value = 100000.0 + final_value = cerebro.broker.getvalue() + profit = final_value - initial_value + profit_rate = (profit / initial_value) * 100 + + print(f'总收益: ¥{profit:.2f}') + print(f'收益率: {profit_rate:.2f}%') + # 设置中文字体 + matplotlib.rcParams['font.sans-serif'] = ['Arial Unicode MS'] + matplotlib.rcParams['axes.unicode_minus'] = False + figs = cerebro.plot(volume=True, style='candle', + barup='red', bardown='green', + volup='red', voldown='green', + subplot=False, # 不使用子图 + voloverlay=False, # 成交量不覆盖在K线上 + volscaling=0.3, # 成交量高度占比 + volpushup=1.0) + # 绘制图表,包括K线图 + fig = figs[0][0] + fig.set_size_inches(40, 20) + fig.suptitle("策略回测结果", fontsize=16) + fig.grid(False) + ax1 = fig.axes[0] # 获取主要的坐标轴 + + # 显示图表 + # 设置x轴日期格式 + ax1.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d')) + plt.setp(ax1.xaxis.get_majorticklabels(), rotation=45) + plt.tight_layout() + plt.show() + + def bt_strategy_multiple(self, date=None, strategy=None, iterations=10): + if date is None: + date = datetime.now() - timedelta(days=1) + if strategy is None: + raise Exception("策略类为空") + + results = [] + data = self.get_data(date, rand_num=iterations) + for i in range(len(data)): + cerebro = bt.Cerebro() + cerebro.addstrategy(strategy) + cerebro.broker.set_cash(100000.0) + cerebro.addsizer(bt.sizers.PercentSizer, percents=50) + cerebro.broker.setcommission(commission=0.0001) + cerebro.adddata(data[i]) + + initial_value = cerebro.broker.getvalue() + cerebro.run() + final_value = cerebro.broker.getvalue() + profit = final_value - initial_value + profit_rate = (profit / initial_value) * 100 + + results.append({ + 'iteration': i + 1, + 'initial_value': initial_value, + 'final_value': final_value, + 'profit': profit, + 'profit_rate': profit_rate + }) + + print(f'迭代次数 {i + 1}: 利润: {profit:.2f}, 利润率: {profit_rate:.2f}%') + + + # 统计结果 + profits = [r['profit'] for r in results] + profit_rates = [r['profit_rate'] for r in results] + winning_trades = sum(1 for p in profits if p > 0) + + print("\n总结:") + print(f"总迭代次数: {iterations}") + print(f"盈利交易次数: {winning_trades}") + print(f"胜率: {winning_trades / iterations * 100:.2f}%") + print(f"平均利润: {np.mean(profits):.2f}") + print(f"平均利润率: {np.mean(profit_rates):.2f}%") + print(f"最大利润: {max(profits):.2f}") + print(f"最小利润: {min(profits):.2f}") + print(f"利润标准差: {np.std(profits):.2f}") + + return results + + def get_data(self, date, rand_num=100): + columns_ = stock_data(date).get_data()[list(tbs.TABLE_CN_STOCK_FOREIGN_KEY['columns'])] + stocks = [tuple(x) for x in columns_.values] + random_stocks = random.sample(stocks, rand_num) + data_list = [] + df = stock_hist_data(date=date, stocks=random_stocks).get_data() + for idx, row in df.items(): + if len(row) <= 100: + continue + row['datetime'] = pd.to_datetime(row['date']) + row.set_index('datetime', inplace=True) + data = bt.feeds.PandasData( + dataname=row, + name=idx[1] + idx[2] + ) + data_list.append(data) + + return data_list + + +if __name__ == '__main__': + test = back_test() + test.bt_strategy_multiple(strategy=VolumeBreakStrategy, iterations=25) diff --git a/instock/core/backtest/base_strategy.py b/instock/core/backtest/base_strategy.py new file mode 100644 index 0000000000..c2447b335b --- /dev/null +++ b/instock/core/backtest/base_strategy.py @@ -0,0 +1,127 @@ +import backtrader as bt +class BaseStrategy(bt.Strategy): + params = ( + ('stop_loss', 0.06), + ('take_profit', 0.30), + ) + + def __init__(self): + self.orders = {} + self.position_value = {} + self.buyprice = {} + self.buycomm = {} + self.stop_loss_price = {} + self.take_profit_price = {} + + def buy_stock(self, data, size=None): + if size is None: + size = self.calculate_buy_size(data) + if size > 0: + limit_up_price = self.calculate_limit_up_price(data) + if data.close[0] >= limit_up_price: + self.log(f'涨停无法买入: {data._name}, 价格: {data.close[0]}, 涨停价: {limit_up_price}') + return + + if data.close[0] > 0: + self.stop_loss_price[data] = max(data.close[0] * (1 - self.params.stop_loss), 0.01) + self.take_profit_price[data] = max(data.close[0] * (1 + self.params.take_profit), 0.01) + else: + self.log(f'警告: {data._name} 的收盘价为0,无法设置止损和止盈') + return + + self.orders[data] = self.buy(data=data, size=size) + self.position_value[data] = size * data.close[0] + + def calculate_buy_size(self, data): + available_cash = self.broker.getvalue() - sum(self.position_value.values()) + if available_cash <= 0: + return 0 + ratio = 0.5 + return int(round(available_cash * ratio / data.close[0] / 100) * 100) + + def check_sell_strategy(self, data): + position = self.getposition(data) + if not position: + return + if data in self.stop_loss_price and data.close[0] <= self.stop_loss_price[data]: + self.log(f'触发止损: {data._name}, 价格: {data.close[0]}') + self.close(data) + if data.low[0] < data.low[-1] and data.high[0] < data.high[-1]\ + and data.low[-1] < data.low[-2] and data.high[-1] < data.high[-2]: + self.log(f'触发最高和最低点低于昨日卖出: {data._name}, 价格: {data.close[0]}') + self.close(data) + if data in self.take_profit_price and data.close[0] >= self.take_profit_price[data]: + if data.low[0] < data.low[-1] and data.high[0] < data.high[-1]: + self.log(f'触发最低点低于昨日最低点卖出: {data._name}, 价格: {data.close[0]}') + self.close(data) + + if data.volume[0] == max(data.volume.get(size=7)) and data.close[0] < data.low[-1]: + self.log(f'触发成交量和价格条件卖出: {data._name}, 价格: {data.close[0]}') + self.close(data) + + def calculate_limit_up_price(self, data): + previous_close = data.close[-1] + stock_code = data._name[:6] + limit_up_ratio = 0.20 if stock_code.startswith('300') else 0.10 + base_limit_up_price = round(previous_close * (1 + limit_up_ratio), 2) + return base_limit_up_price * 1.001 + + def log(self, txt, dt=None): + dt = dt or self.datas[0].datetime.date(0) + print(f'{dt.isoformat()}, {txt}') + + def notify_order(self, order): + if order.status in [order.Submitted, order.Accepted]: + return + + if order.status in [order.Completed]: + if order.isbuy(): + self.buyprice[order.data] = order.executed.price + self.buycomm[order.data] = order.executed.comm + self.log( + f'买入执行: {order.data._name}, 价格: {order.executed.price:.2f}, ' + f'成本: {order.executed.value:.2f}, 佣金: {order.executed.comm:.2f}, ' + f'数量: {order.executed.size}, ' + f'止损价: {self.stop_loss_price.get(order.data, 0):.2f}, ' + f'止盈价: {self.take_profit_price.get(order.data, 0):.2f}' + ) + else: + buyprice = self.buyprice[order.data] + buycomm = self.buycomm[order.data] + sellprice = order.executed.price + sellcomm = order.executed.comm + profit = (sellprice - buyprice) * order.executed.size * -1 - buycomm - sellcomm + profit_pct = (profit / (buyprice * order.executed.size)) * 100 * -1 + self.log( + f'卖出执行: {order.data._name}, 价格: {sellprice:.2f}, ' + f'成本: {order.executed.value:.2f}, 佣金: {sellcomm:.2f}, ' + f'数量: {order.executed.size}, 利润: {profit:.2f}, ' + f'利润率: {profit_pct:.2f}%' + ) + self.position_value[order.data] = 0 + self.stop_loss_price.pop(order.data, None) + self.take_profit_price.pop(order.data, None) + + elif order.status in [order.Canceled, order.Margin, order.Rejected]: + self.log(f'订单被取消/保证金不足/拒绝: {order.data._name}') + + self.orders[order.data] = None + + def notify_trade(self, trade): + if not trade.isclosed: + return + self.log(f'交易利润: {trade.data._name}, 毛利: {trade.pnl:.2f}, 净利: {trade.pnlcomm:.2f}') + + def stop(self): + self.log(f'最终投资组合价值: {self.broker.getvalue():.2f}') + for data in self.datas: + position = self.getposition(data) + if position.size != 0: + unrealized_pnl = position.size * (data.close[0] - self.buyprice[data]) - self.buycomm[data] + unrealized_pnl_pct = (unrealized_pnl / (self.buyprice[data] * position.size)) * 100 + self.log( + f'最终持仓 {data._name}: {position.size} 股, ' + f'价值: {position.size * data.close[0]:.2f}, ' + f'未实现盈亏: {unrealized_pnl:.2f}, ' + f'未实现盈亏率: {unrealized_pnl_pct:.2f}%' + ) diff --git a/instock/core/backtest/strategy_group.py b/instock/core/backtest/strategy_group.py new file mode 100644 index 0000000000..217cd3104d --- /dev/null +++ b/instock/core/backtest/strategy_group.py @@ -0,0 +1,284 @@ +import backtrader as bt +import numpy as np + +class BacktraceMA250(bt.Strategy): + params = ( + ('period', 90), + ) + + def __init__(self): + self.ma250 = bt.indicators.SimpleMovingAverage(self.data.close, period=self.params.period) + self.highest = bt.indicators.Highest(self.data.close, period=60) + self.volume = bt.indicators.SimpleMovingAverage(self.data.volume, period=5) + + def next(self): + if len(self) < 60: + return + + if not self.position: + if (self.data.close[-60] < self.ma250[-60] and self.data.close[0] > self.ma250[0] and + self.data.close[0] >= self.highest[-1] and + self.data.volume[0] / self.volume[0] > 2 and + self.data.close[0] / self.highest[0] < 0.8): + self.buy() + + elif self.position: + if self.data.close[0] < self.ma250[0]: + self.sell() + +class BreakthroughPlatform(bt.Strategy): + params = ( + ('period', 60), + ) + + def __init__(self): + self.ma60 = bt.indicators.SimpleMovingAverage(self.data.close, period=self.params.period) + self.volume = bt.indicators.SimpleMovingAverage(self.data.volume, period=5) + + def next(self): + if len(self) < self.params.period: + return + + if not self.position: + if (self.data.open[0] < self.ma60[0] <= self.data.close[0] and + self.data.volume[0] > self.volume[0] * 2): + for i in range(1, self.params.period): + if not -0.05 < (self.ma60[-i] - self.data.close[-i]) / self.ma60[-i] < 0.2: + return + self.buy() + + elif self.position: + if self.data.close[0] < self.ma60[0]: + self.sell() + +class ClimaxLimitdown(bt.Strategy): + params = ( + ('volume_times', 4), + ('amount_threshold', 200000000), + ) + + def __init__(self): + self.volume_ma5 = bt.indicators.SimpleMovingAverage(self.data.volume, period=5) + + def next(self): + if not self.position: + if (self.data.close[0] / self.data.open[0] - 1 < -0.095 and + self.data.close[0] * self.data.volume[0] >= self.params.amount_threshold and + self.data.volume[0] >= self.volume_ma5[0] * self.params.volume_times): + self.buy() + + elif self.position: + if self.data.close[0] > self.data.open[0]: + self.sell() + + +class EnterStrategy(bt.Strategy): + params = ( + ('volume_times', 2), + ('amount_threshold', 200000000), + ) + + def __init__(self): + self.volume_ma5 = bt.indicators.SimpleMovingAverage(self.data.volume, period=5) + + def next(self): + if not self.position: + if (self.data.close[0] / self.data.open[0] - 1 > 0.02 and + self.data.close[0] * self.data.volume[0] >= self.params.amount_threshold and + self.data.volume[0] >= self.volume_ma5[0] * self.params.volume_times): + self.buy() + + elif self.position: + if self.data.close[0] < self.data.open[0]: + self.sell() + + +class HighTightFlag(bt.Strategy): + params = ( + ('lookback', 24), + ('threshold', 1.9), + ) + + def __init__(self): + self.order = None + + def next(self): + if self.order: + return + + if not self.position: + lookback_low = min(self.data.low.get(size=self.params.lookback)) + if self.data.close[0] / lookback_low >= self.params.threshold: + count = 0 + for i in range(1, self.params.lookback + 1): + if self.data.close[-i] / self.data.open[-i] - 1 >= 0.095: + count += 1 + else: + count = 0 + if count == 2: + self.order = self.buy() + break + + elif self.position: + if self.data.close[0] < self.data.open[0]: + self.order = self.sell() + +class KeepIncreasing(bt.Strategy): + params = ( + ('period', 30), + ('threshold', 1.2), + ) + + def __init__(self): + self.ma30 = bt.indicators.SimpleMovingAverage(self.data.close, period=self.params.period) + + def next(self): + if len(self) < self.params.period: + return + + if not self.position: + if (self.ma30[0] > self.ma30[-10] > self.ma30[-20] > self.ma30[-30] and + self.ma30[0] / self.ma30[-30] > self.params.threshold): + self.buy() + + elif self.position: + if self.data.close[0] < self.ma30[0]: + self.sell() + + +class LowATRGrowth(bt.Strategy): + params = ( + ('period', 10), + ('atr_threshold', 10), + ('growth_threshold', 1.1), + ) + + def __init__(self): + self.atr = bt.indicators.ATR(self.data, period=self.params.period) + + def next(self): + if len(self) < self.params.period: + return + + if not self.position: + highest = max(self.data.close.get(size=self.params.period)) + lowest = min(self.data.close.get(size=self.params.period)) + if (self.atr[0] <= self.params.atr_threshold and + highest / lowest >= self.params.growth_threshold): + self.buy() + + elif self.position: + if self.data.close[0] < self.data.open[0]: + self.sell() + + +class LowBacktraceIncrease(bt.Strategy): + params = ( + ('period', 60), + ('increase_threshold', 0.6), + ('decline_threshold', -0.07), + ('cumulative_threshold', -0.1), + ) + + def __init__(self): + self.order = None + + def next(self): + if self.order: + return + + if len(self) < self.params.period: + return + + if not self.position: + if self.data.close[0] / self.data.close[-self.params.period] - 1 >= self.params.increase_threshold: + for i in range(1, self.params.period + 1): + if (self.data.close[-i] / self.data.open[-i] - 1 <= self.params.decline_threshold or + self.data.close[-i] / self.data.close[-i-1] - 1 <= self.params.cumulative_threshold): + return + self.order = self.buy() + + elif self.position: + if self.data.close[0] < self.data.open[0]: + self.order = self.sell() + + +class ParkingApron(bt.Strategy): + params = ( + ('lookback', 15), + ('increase_threshold', 0.095), + ('consolidation_days', 3), + ('consolidation_threshold', 0.03), + ) + + def __init__(self): + self.order = None + + def next(self): + if self.order: + return + + if len(self) < self.params.lookback: + return + + if not self.position: + for i in range(1, self.params.lookback + 1): + if self.data.close[-i] / self.data.open[-i] - 1 > self.params.increase_threshold: + if i >= self.params.consolidation_days: + is_consolidating = True + for j in range(1, self.params.consolidation_days + 1): + if abs(self.data.close[-j] / self.data.open[-j] - 1) > self.params.consolidation_threshold: + is_consolidating = False + break + if is_consolidating: + self.order = self.buy() + break + + elif self.position: + if self.data.close[0] < self.data.open[0]: + self.order = self.sell() + + +class TurtleTrade(bt.Strategy): + params = ( + ('period', 60), + ) + + def __init__(self): + self.highest = bt.indicators.Highest(self.data.close, period=self.params.period) + + def next(self): + if len(self) < self.params.period: + return + + if not self.position: + if self.data.close[0] >= self.highest[-1]: + self.buy() + + elif self.position: + if self.data.close[0] < self.data.open[0]: + self.sell() + +class MACDStrategy(bt.Strategy): + params = ( + ('fast_period', 12), + ('slow_period', 26), + ('signal_period', 9), + ) + + def __init__(self): + self.macd = bt.indicators.MACD( + self.data.close, + period_me1=self.params.fast_period, + period_me2=self.params.slow_period, + period_signal=self.params.signal_period + ) + self.crossover = bt.indicators.CrossOver(self.macd.macd, self.macd.signal) + + def next(self): + if not self.position: + if self.crossover > 0: # 金叉买入信号 + self.buy() + else: + if self.crossover < 0: # 死叉卖出信号 + self.sell() \ No newline at end of file diff --git a/instock/core/backtest/strategy_tester.py b/instock/core/backtest/strategy_tester.py new file mode 100644 index 0000000000..7e7bff1d9d --- /dev/null +++ b/instock/core/backtest/strategy_tester.py @@ -0,0 +1,123 @@ +import backtrader as bt +import pandas as pd +from datetime import datetime, timedelta +import random +from instock.core.singleton_stock import stock_hist_data, stock_data +import instock.core.tablestructure as tbs +from instock.core.backtest.strategy_group import * + +class StrategyTester: + def __init__(self): + self.strategies = [ + BacktraceMA250, BreakthroughPlatform, ClimaxLimitdown, + EnterStrategy, HighTightFlag, KeepIncreasing, LowATRGrowth, + LowBacktraceIncrease, ParkingApron, TurtleTrade, MACDStrategy + ] + + def get_data(self, date, rand_num=10): + columns_ = stock_data(date).get_data()[list(tbs.TABLE_CN_STOCK_FOREIGN_KEY['columns'])] + stocks = [tuple(x) for x in columns_.values] + random_stocks = random.sample(stocks, rand_num) + data_list = [] + df = stock_hist_data(date=date, stocks=random_stocks).get_data() + for idx, row in df.items(): + if len(row) <= 100: + continue + row['datetime'] = pd.to_datetime(row['date']) + row.set_index('datetime', inplace=True) + data = bt.feeds.PandasData( + dataname=row, + name=idx[1] + idx[2] + ) + data_list.append(data) + return data_list + + def run_backtest(self, strategy, data): + cerebro = bt.Cerebro() + cerebro.addstrategy(strategy) + cerebro.adddata(data) + cerebro.broker.setcash(100000.0) + cerebro.broker.setcommission(commission=0.001) + cerebro.addsizer(bt.sizers.PercentSizer, percents=95) + + # 添加交易分析器 + cerebro.addanalyzer(bt.analyzers.TradeAnalyzer, _name="trades") + + initial_value = cerebro.broker.getvalue() + results = cerebro.run() + final_value = cerebro.broker.getvalue() + + return results[0], initial_value, final_value + + def evaluate_strategy(self, strategy, data): + try: + strategy_results, initial_value, final_value = self.run_backtest(strategy, data) + + # 获取交易分析结果 + trade_analyzer = strategy_results.analyzers.trades.get_analysis() + + # 计算总交易次数和盈利交易次数 + total_trades = trade_analyzer.total.closed + won_trades = trade_analyzer.won.total if hasattr(trade_analyzer, 'won') else 0 + + max_profit = final_value - initial_value + win_rate = won_trades / total_trades if total_trades > 0 else 0 + + return { + 'strategy': strategy.__name__, + 'max_profit': max_profit, + 'win_rate': win_rate + } + except Exception as e: + print(f"Error evaluating strategy {strategy.__name__}: {str(e)}") + return None + + def run_all_strategies(self, date=None, iterations=5): + if date is None: + date = datetime.now() - timedelta(days=1) + + all_results = [] + + for _ in range(iterations): + data_list = self.get_data(date) + for data in data_list: + for strategy in self.strategies: + result = self.evaluate_strategy(strategy, data) + if result: + all_results.append(result) + + return all_results + + def find_best_strategy(self, results): + strategy_performance = {} + for result in results: + strategy_name = result['strategy'] + if strategy_name not in strategy_performance: + strategy_performance[strategy_name] = { + 'total_profit': 0, + 'total_win_rate': 0, + 'count': 0 + } + strategy_performance[strategy_name]['total_profit'] += result['max_profit'] + strategy_performance[strategy_name]['total_win_rate'] += result['win_rate'] + strategy_performance[strategy_name]['count'] += 1 + + for strategy, performance in strategy_performance.items(): + performance['avg_profit'] = performance['total_profit'] / performance['count'] + performance['avg_win_rate'] = performance['total_win_rate'] / performance['count'] + + best_strategy = max(strategy_performance.items(), key=lambda x: x[1]['avg_profit']) + return best_strategy + +if __name__ == '__main__': + tester = StrategyTester() + results = tester.run_all_strategies(iterations=5) + + print("All Strategy Results:") + for result in results: + print(f"Strategy: {result['strategy']}, Max Profit: {result['max_profit']:.2f}, Win Rate: {result['win_rate']:.2f}") + + best_strategy, performance = tester.find_best_strategy(results) + print(f"\nBest Strategy: {best_strategy}") + print(f"Average Profit: {performance['avg_profit']:.2f}") + print(f"Average Win Rate: {performance['avg_win_rate']:.2f}") diff --git a/instock/core/backtest/volume_break_strategy.py b/instock/core/backtest/volume_break_strategy.py new file mode 100644 index 0000000000..ec01351985 --- /dev/null +++ b/instock/core/backtest/volume_break_strategy.py @@ -0,0 +1,53 @@ +import backtrader as bt +import numpy as np +from instock.core.backtest.base_strategy import BaseStrategy + +class VolumeBreakStrategy(BaseStrategy): + params = ( + ('volume_threshold', 1.5), # 成交量阈值 + ('price_drop_threshold', 0.15), # 价格下跌阈值 + ('lookback_period', 7), # 回看天数 + ) + + def __init__(self): + super().__init__() + self.volume_ma = bt.indicators.SimpleMovingAverage( + self.data.volume, period=self.params.lookback_period) + self.high_price = bt.indicators.Highest( + self.data.high, period=self.params.lookback_period) + self.low_price = bt.indicators.Lowest( + self.data.low, period=self.params.lookback_period) + self.max_volume = bt.indicators.Highest( + self.data.volume, period=self.params.lookback_period) + + def next(self): + for data in self.datas: + self.process_data(data) + + def process_data(self, data): + if self.orders.get(data): + return + + if not self.position: + if self.buy_condition(data): + self.log(f'买入信号: {data._name}, 价格: {data.close[0]}') + self.buy_stock(data) + + self.check_sell_strategy(data) + + def buy_condition(self, data): + # 条件1: 最近七天有一天成交量大于当天-7天成交量均值的150% + volume_condition = np.any(np.array(data.volume.get(size=self.params.lookback_period)) > + self.volume_ma * self.params.volume_threshold) + + # 条件2: 当天的收盘价低于最近七天的最高价的15% + price_condition = data.close[0] < self.high_price[0] * (1 - self.params.price_drop_threshold) + + # 条件3: 当天的成交量低于最高日的成交量 + current_volume_condition = data.volume[0] < self.max_volume[0] + + # 条件4: 当天的最低价格高于昨天的最低价 + low_price_condition = data.low[0] > data.low[-1] + + return (volume_condition and price_condition and + current_volume_condition and low_price_condition) diff --git a/instock/core/singleton_stock.py b/instock/core/singleton_stock.py index 996bc0bf0f..d0a06339e8 100644 --- a/instock/core/singleton_stock.py +++ b/instock/core/singleton_stock.py @@ -1,8 +1,8 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- - -import logging import concurrent.futures +import logging + import instock.core.stockfetch as stf import instock.core.tablestructure as tbs import instock.lib.trade_time as trd diff --git a/instock/job/indicators_data_daily_job.py b/instock/job/indicators_data_daily_job.py index b84756ffc0..e4d191a3f9 100644 --- a/instock/job/indicators_data_daily_job.py +++ b/instock/job/indicators_data_daily_job.py @@ -1,7 +1,6 @@ #!/usr/local/bin/python3 # -*- coding: utf-8 -*- - - +import datetime import logging import concurrent.futures import pandas as pd diff --git a/instock/lib/trade_time.py b/instock/lib/trade_time.py index b3b971eb00..fd1d88e897 100644 --- a/instock/lib/trade_time.py +++ b/instock/lib/trade_time.py @@ -113,7 +113,7 @@ def is_open(now_time): def get_trade_hist_interval(date): tmp_year, tmp_month, tmp_day = date.split("-") date_end = datetime.datetime(int(tmp_year), int(tmp_month), int(tmp_day)) - date_start = (date_end + datetime.timedelta(days=-(365 * 3))).strftime("%Y%m%d") + date_start = (date_end + datetime.timedelta(days=-(365 * 1))).strftime("%Y%m%d") now_time = datetime.datetime.now() now_date = now_time.date() diff --git a/requirements.txt b/requirements.txt index 7da59878f4..206d016c7f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,4 +13,7 @@ tqdm==4.67.0 easytrader==0.23.0 beautifulsoup4==4.12.3 pycryptodome==3.21.0 -python_dateutil==2.9.0.post0 \ No newline at end of file +python_dateutil==2.9.0.post0 +backtrader~=1.9.78.123 +matplotlib~=3.9.3 +python-dateutil~=2.9.0.post0 \ No newline at end of file From c3d8c457f11fcb4e20ce1541100b33e255915c7d Mon Sep 17 00:00:00 2001 From: duanhaoran Date: Sat, 7 Dec 2024 12:04:17 +0800 Subject: [PATCH 2/8] =?UTF-8?q?func(service):=E5=A2=9E=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E7=AD=96=E7=95=A5=20=E5=9B=9E=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- instock/core/backtest/Chan.py | 143 +++++++++++++----- instock/core/backtest/backtrader_manager.py | 9 +- instock/core/backtest/base_strategy.py | 29 +++- .../core/backtest/volume_break_strategy.py | 18 ++- 4 files changed, 143 insertions(+), 56 deletions(-) diff --git a/instock/core/backtest/Chan.py b/instock/core/backtest/Chan.py index 62369cfad5..2e9393842d 100644 --- a/instock/core/backtest/Chan.py +++ b/instock/core/backtest/Chan.py @@ -17,12 +17,13 @@ sys.path.append(cpath) class ChanKline: - def __init__(self, open, high, low, close, date): + def __init__(self, open, high, low, close, date, volume): self.open = open self.high = high self.low = low self.close = close self.date = date + self.volume = volume class Segment: def __init__(self, start, end, direction): @@ -44,9 +45,11 @@ def __init__(self, start, end): class ChanIndicator(bt.Indicator): lines = ('buy_signal', 'sell_signal') - params = (('period', 20), - ('stop_loss', 0.65), # 10% 止损 - ) + params = ( + ('period', 20), + ('atr_period', 14), + ('atr_multiplier', 2), + ) def __init__(self): self.addminperiod(self.params.period) @@ -54,10 +57,16 @@ def __init__(self): self.segments = [] self.pivots = [] self.central_zones = [] - self.stop_loss_price = {} # 用于记录每个数据源的止损价格 + + # 添加技术指标 + self.atr = bt.indicators.ATR(self.data, period=self.params.atr_period) + self.rsi = bt.indicators.RSI(self.data, period=14) + self.macd = bt.indicators.MACD(self.data) + self.volume_ma = bt.indicators.SMA(self.data.volume, period=20) def next(self): - current_kline = ChanKline(self.data.open[0], self.data.high[0], self.data.low[0], self.data.close[0], self.data.datetime.date(0)) + current_kline = ChanKline(self.data.open[0], self.data.high[0], self.data.low[0], + self.data.close[0], self.data.datetime.date(0), self.data.volume[0]) self.merge_klines(current_kline) self.identify_pivots() self.identify_segments() @@ -67,6 +76,7 @@ def next(self): self.lines.sell_signal[0] = self.is_sell_point() def merge_klines(self, new_kline): + # 保持原有的K线合并逻辑 if not self.merged_klines: self.merged_klines.append(new_kline) return @@ -79,13 +89,15 @@ def merge_klines(self, new_kline): max(last_kline.high, new_kline.high), min(last_kline.low, new_kline.low), new_kline.close, - new_kline.date + new_kline.date, + last_kline.volume + new_kline.volume ) self.merged_klines[-1] = merged_kline else: self.merged_klines.append(new_kline) def identify_pivots(self): + # 保持原有的顶底点识别逻辑 if len(self.merged_klines) < 3: return @@ -97,6 +109,7 @@ def identify_pivots(self): self.pivots.append(Pivot(curr, 'low')) def identify_segments(self): + # 保持原有的线段识别逻辑 if len(self.pivots) < 2: return @@ -107,6 +120,7 @@ def identify_segments(self): self.segments.append(Segment(start.kline, end.kline, direction)) def identify_central_zones(self): + # 优化中枢识别逻辑 if len(self.segments) < 3: return @@ -116,7 +130,9 @@ def identify_central_zones(self): overlap_high = min(seg1.end.high, seg2.end.high, seg3.start.high) overlap_low = max(seg1.end.low, seg2.end.low, seg3.start.low) if overlap_high > overlap_low: - self.central_zones.append(CentralZone(seg1.end, seg3.start)) + zone = CentralZone(seg1.end, seg3.start) + if not self.central_zones or zone.low > self.central_zones[-1].high or zone.high < self.central_zones[-1].low: + self.central_zones.append(zone) def is_buy_point(self): if not self.central_zones: @@ -126,16 +142,19 @@ def is_buy_point(self): last_kline = self.merged_klines[-1] prev_kline = self.merged_klines[-2] - # 第一次突破中枢 - if prev_kline.close <= last_zone.high and last_kline.close > last_zone.high: + # 趋势判断 + trend = self.judge_trend() + + # 第一类买点:突破中枢上沿 + if prev_kline.close <= last_zone.high and last_kline.close > last_zone.high and trend == 1: return 1 - # 回调后收盘价高于中枢 - if self.lines.buy_signal[-1] == 1 and last_kline.close > last_zone.high: + # 第二类买点:回调不破中枢 + if self.lines.buy_signal[-1] == 1 and last_kline.low > last_zone.low and trend == 1: return 2 - # 回调跌破中枢 - if self.lines.buy_signal[-1] == 1 and last_kline.close <= last_zone.high: + # 第三类买点:中枢震荡突破 + if last_zone.low < last_kline.close < last_zone.high and self.is_volume_breakout() and trend == 1: return 3 return 0 @@ -147,39 +166,59 @@ def is_sell_point(self): last_zone = self.central_zones[-1] last_kline = self.merged_klines[-1] - # 第一类卖点:向上离开中枢后回调不升破中枢 - # if last_kline.high < last_zone.high and last_kline.close < last_zone.low: - # return 1 + # 趋势判断 + trend = self.judge_trend() - # 第二类卖点:在中枢中震荡后向下突破 - if last_kline.close < last_zone.low and self.merged_klines[-2].close >= last_zone.low: + # 第一类卖点:跌破中枢下沿 + if last_kline.close < last_zone.low and self.merged_klines[-2].close >= last_zone.low and trend == -1: + return 1 + + # 第二类卖点:反弹不破中枢 + if self.lines.sell_signal[-1] == 1 and last_kline.high < last_zone.high and trend == -1: return 2 + # 第三类卖点:中枢震荡突破下沿 + if last_zone.low < last_kline.close < last_zone.high and self.is_volume_breakout() and trend == -1: + return 3 + return 0 + def judge_trend(self): + # 使用MACD判断趋势 + if self.macd.macd[0] > self.macd.signal[0] and self.macd.macd[0] > 0: + return 1 # 上升趋势 + elif self.macd.macd[0] < self.macd.signal[0] and self.macd.macd[0] < 0: + return -1 # 下降趋势 + else: + return 0 # 震荡 + + def is_volume_breakout(self): + # 判断是否出现放量 + return self.data.volume[0] > self.volume_ma[0] * 1.5 + def is_divergence(self, seg1, seg2): - # 简单的背驰判断,可以根据实际需求进行调整 + # 判断背驰 price_change1 = abs(seg1.end.close - seg1.start.close) price_change2 = abs(seg2.end.close - seg2.start.close) - volume1 = sum([k.close for k in self.merged_klines[self.merged_klines.index(seg1.start):self.merged_klines.index(seg1.end)+1]]) - volume2 = sum([k.close for k in self.merged_klines[self.merged_klines.index(seg2.start):self.merged_klines.index(seg2.end)+1]]) + volume1 = sum([k.volume for k in self.merged_klines[self.merged_klines.index(seg1.start):self.merged_klines.index(seg1.end)+1]]) + volume2 = sum([k.volume for k in self.merged_klines[self.merged_klines.index(seg2.start):self.merged_klines.index(seg2.end)+1]]) return (seg1.direction == seg2.direction) and (price_change2 > price_change1) and (volume2 < volume1) -class ChanStrategy(BaseStrategy): +class ImprovedChanStrategy(BaseStrategy): params = ( - ('maperiod', 20), + ('atr_period', 14), + ('atr_multiplier', 2), ) def __init__(self): super().__init__() self.chan_indicators = {} for d in self.datas: - self.chan_indicators[d] = ChanIndicator(d, period=self.params.maperiod) + self.chan_indicators[d] = ChanIndicator(d, period=20, atr_period=self.params.atr_period, atr_multiplier=self.params.atr_multiplier) def next(self): for data in self.datas: self.process_data(data) - self.check_sell_strategy(data) def process_data(self, data): if self.orders.get(data): @@ -187,21 +226,49 @@ def process_data(self, data): position = self.getposition(data) buy_signal = self.chan_indicators[data].buy_signal[0] + sell_signal = self.chan_indicators[data].sell_signal[0] if not position: - if buy_signal == 2: - self.log(f'创建买入订单: {data._name} (回调后收盘价高于中枢), 价格: {data.close[0]}') + if buy_signal > 0: + self.log(f'创建买入订单: {data._name} (买点类型: {buy_signal}), 价格: {data.close[0]}') self.buy_stock(data) - elif buy_signal == 3: - self.log(f'回调跌破中枢: {data._name}, 价格: {data.close[0]}') - self.orders[data] = 'waiting' else: - if buy_signal == 3 and self.orders.get(data) == 'waiting': - if data.close[0] < data.low[-1]: - self.log(f'创建卖出订单: {data._name} (跌破中枢后创新低), 价格: {data.close[0]}') - self.close(data) - else: - self.log(f'继续持有: {data._name} (跌破中枢但未创新低), 价格: {data.close[0]}') - self.orders[data] = None + if sell_signal > 0: + self.log(f'创建卖出订单: {data._name} (卖点类型: {sell_signal}), 价格: {data.close[0]}') + self.close(data) + + self.check_stop_loss(data) + + def check_stop_loss(self, data): + position = self.getposition(data) + if not position: + return + + atr = self.chan_indicators[data].atr[0] + current_stop = self.buyprice[data] - self.params.atr_multiplier * atr + + if data.close[0] < current_stop: + self.log(f'触发动态止损: {data._name}, 价格: {data.close[0]}') + self.close(data) + + def buy_stock(self, data, size=None): + if size is None: + size = self.calculate_buy_size(data) + if size > 0: + self.orders[data] = self.buy(data=data, size=size) + self.position_value[data] = size * data.close[0] + self.buyprice[data] = data.close[0] + else: + self.log(f'可用资金不足,无法买入: {data._name}, 可用资金: {self.broker.getvalue() - sum(self.position_value.values())}') + + def calculate_buy_size(self, data): + available_cash = self.broker.getvalue() - sum(self.position_value.values()) + if available_cash <= 0: + return 0 + risk_per_trade = self.broker.getvalue() * 0.01 # 风险控制:每次交易最多损失账户1%的资金 + atr = self.chan_indicators[data].atr[0] + stop_loss = data.close[0] - self.params.atr_multiplier * atr + shares = int(risk_per_trade / (data.close[0] - stop_loss)) + return min(shares, int(available_cash / data.close[0])) diff --git a/instock/core/backtest/backtrader_manager.py b/instock/core/backtest/backtrader_manager.py index 657c8fd79f..e069e602a0 100644 --- a/instock/core/backtest/backtrader_manager.py +++ b/instock/core/backtest/backtrader_manager.py @@ -11,7 +11,7 @@ from matplotlib import pyplot as plt import instock.core.tablestructure as tbs -from instock.core.backtest.Chan import ChanStrategy +from instock.core.backtest.Chan import ImprovedChanStrategy from instock.core.backtest.volume_break_strategy import VolumeBreakStrategy from instock.core.singleton_stock import stock_hist_data, stock_data from instock.lib.singleton_type import singleton_type @@ -22,12 +22,12 @@ class back_test(metaclass=singleton_type): - def bt_strategy(self, date=None, strategy=None): + def bt_strategy(self, date=None, strategy=None,rand_num=2): if date is None: date = datetime.now() - timedelta(days=1) if strategy is None: raise Exception("策略类为空") - data = self.get_data(date, rand_num=2) + data = self.get_data(date=date, rand_num=rand_num) cerebro = bt.Cerebro() cerebro.addstrategy(strategy) cerebro.broker.set_cash(100000.0) @@ -142,4 +142,5 @@ def get_data(self, date, rand_num=100): if __name__ == '__main__': test = back_test() - test.bt_strategy_multiple(strategy=VolumeBreakStrategy, iterations=25) + test.bt_strategy_multiple(strategy=VolumeBreakStrategy, iterations=200) + # test.bt_strategy(strategy=VolumeBreakStrategy, rand_num=10) diff --git a/instock/core/backtest/base_strategy.py b/instock/core/backtest/base_strategy.py index c2447b335b..34d02a1536 100644 --- a/instock/core/backtest/base_strategy.py +++ b/instock/core/backtest/base_strategy.py @@ -1,4 +1,6 @@ import backtrader as bt + + class BaseStrategy(bt.Strategy): params = ( ('stop_loss', 0.06), @@ -31,35 +33,46 @@ def buy_stock(self, data, size=None): self.orders[data] = self.buy(data=data, size=size) self.position_value[data] = size * data.close[0] + else: + self.log(f'可用资金不足,无法买入: {data._name}, 可用资金: {self.broker.getvalue() - sum(self.position_value.values())}') - def calculate_buy_size(self, data): + def calculate_buy_size(self, data, ratio=None): available_cash = self.broker.getvalue() - sum(self.position_value.values()) if available_cash <= 0: return 0 - ratio = 0.5 + if ratio is None: + if self.position: + ratio = 0.2 + else: + ratio = 0.5 return int(round(available_cash * ratio / data.close[0] / 100) * 100) def check_sell_strategy(self, data): position = self.getposition(data) if not position: - return + return True if data in self.stop_loss_price and data.close[0] <= self.stop_loss_price[data]: self.log(f'触发止损: {data._name}, 价格: {data.close[0]}') self.close(data) - if data.low[0] < data.low[-1] and data.high[0] < data.high[-1]\ - and data.low[-1] < data.low[-2] and data.high[-1] < data.high[-2]: + return True + if data.low[0] < data.low[-1] < data.low[-2] and data.high[0] < data.high[-1] < data.high[-2]: self.log(f'触发最高和最低点低于昨日卖出: {data._name}, 价格: {data.close[0]}') self.close(data) + return True if data in self.take_profit_price and data.close[0] >= self.take_profit_price[data]: if data.low[0] < data.low[-1] and data.high[0] < data.high[-1]: self.log(f'触发最低点低于昨日最低点卖出: {data._name}, 价格: {data.close[0]}') self.close(data) + return True - if data.volume[0] == max(data.volume.get(size=7)) and data.close[0] < data.low[-1]: + if data.volume[0] == max(data.volume.get(size=7) or [0]) and data.close[0] < data.low[-1]: self.log(f'触发成交量和价格条件卖出: {data._name}, 价格: {data.close[0]}') self.close(data) + return True + return False - def calculate_limit_up_price(self, data): + @staticmethod + def calculate_limit_up_price(data): previous_close = data.close[-1] stock_code = data._name[:6] limit_up_ratio = 0.20 if stock_code.startswith('300') else 0.10 @@ -90,7 +103,7 @@ def notify_order(self, order): buycomm = self.buycomm[order.data] sellprice = order.executed.price sellcomm = order.executed.comm - profit = (sellprice - buyprice) * order.executed.size * -1 - buycomm - sellcomm + profit = (sellprice - buyprice) * order.executed.size * -1 - buycomm - sellcomm profit_pct = (profit / (buyprice * order.executed.size)) * 100 * -1 self.log( f'卖出执行: {order.data._name}, 价格: {sellprice:.2f}, ' diff --git a/instock/core/backtest/volume_break_strategy.py b/instock/core/backtest/volume_break_strategy.py index ec01351985..d06a09711e 100644 --- a/instock/core/backtest/volume_break_strategy.py +++ b/instock/core/backtest/volume_break_strategy.py @@ -2,10 +2,11 @@ import numpy as np from instock.core.backtest.base_strategy import BaseStrategy + class VolumeBreakStrategy(BaseStrategy): params = ( ('volume_threshold', 1.5), # 成交量阈值 - ('price_drop_threshold', 0.15), # 价格下跌阈值 + ('price_drop_threshold', 0.10), # 价格下跌阈值 ('lookback_period', 7), # 回看天数 ) @@ -28,12 +29,17 @@ def process_data(self, data): if self.orders.get(data): return - if not self.position: - if self.buy_condition(data): - self.log(f'买入信号: {data._name}, 价格: {data.close[0]}') - self.buy_stock(data) - self.check_sell_strategy(data) + position = self.getposition(data) + if position: + sell_signal = self.check_sell_strategy(data) + if sell_signal: + return + if self.buy_condition(data): + self.log(f'买入信号: {data._name}, 价格: {data.close[0]}') + self.buy_stock(data) + return + def buy_condition(self, data): # 条件1: 最近七天有一天成交量大于当天-7天成交量均值的150% From e259c681c22867f0d2544095e42f804faff75b17 Mon Sep 17 00:00:00 2001 From: duanhaoran Date: Sat, 7 Dec 2024 12:04:17 +0800 Subject: [PATCH 3/8] =?UTF-8?q?func(service):=E5=A2=9E=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E7=AD=96=E7=95=A5=20=E5=9B=9E=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- instock/core/backtest/Chan.py | 143 +++++++++++++----- instock/core/backtest/backtrader_manager.py | 9 +- instock/core/backtest/base_strategy.py | 29 +++- .../core/backtest/volume_break_strategy.py | 18 ++- .../core/strategy/volume_break_strategy.py | 56 +++++++ instock/core/tablestructure.py | 48 +++--- 6 files changed, 224 insertions(+), 79 deletions(-) create mode 100644 instock/core/strategy/volume_break_strategy.py diff --git a/instock/core/backtest/Chan.py b/instock/core/backtest/Chan.py index 62369cfad5..2e9393842d 100644 --- a/instock/core/backtest/Chan.py +++ b/instock/core/backtest/Chan.py @@ -17,12 +17,13 @@ sys.path.append(cpath) class ChanKline: - def __init__(self, open, high, low, close, date): + def __init__(self, open, high, low, close, date, volume): self.open = open self.high = high self.low = low self.close = close self.date = date + self.volume = volume class Segment: def __init__(self, start, end, direction): @@ -44,9 +45,11 @@ def __init__(self, start, end): class ChanIndicator(bt.Indicator): lines = ('buy_signal', 'sell_signal') - params = (('period', 20), - ('stop_loss', 0.65), # 10% 止损 - ) + params = ( + ('period', 20), + ('atr_period', 14), + ('atr_multiplier', 2), + ) def __init__(self): self.addminperiod(self.params.period) @@ -54,10 +57,16 @@ def __init__(self): self.segments = [] self.pivots = [] self.central_zones = [] - self.stop_loss_price = {} # 用于记录每个数据源的止损价格 + + # 添加技术指标 + self.atr = bt.indicators.ATR(self.data, period=self.params.atr_period) + self.rsi = bt.indicators.RSI(self.data, period=14) + self.macd = bt.indicators.MACD(self.data) + self.volume_ma = bt.indicators.SMA(self.data.volume, period=20) def next(self): - current_kline = ChanKline(self.data.open[0], self.data.high[0], self.data.low[0], self.data.close[0], self.data.datetime.date(0)) + current_kline = ChanKline(self.data.open[0], self.data.high[0], self.data.low[0], + self.data.close[0], self.data.datetime.date(0), self.data.volume[0]) self.merge_klines(current_kline) self.identify_pivots() self.identify_segments() @@ -67,6 +76,7 @@ def next(self): self.lines.sell_signal[0] = self.is_sell_point() def merge_klines(self, new_kline): + # 保持原有的K线合并逻辑 if not self.merged_klines: self.merged_klines.append(new_kline) return @@ -79,13 +89,15 @@ def merge_klines(self, new_kline): max(last_kline.high, new_kline.high), min(last_kline.low, new_kline.low), new_kline.close, - new_kline.date + new_kline.date, + last_kline.volume + new_kline.volume ) self.merged_klines[-1] = merged_kline else: self.merged_klines.append(new_kline) def identify_pivots(self): + # 保持原有的顶底点识别逻辑 if len(self.merged_klines) < 3: return @@ -97,6 +109,7 @@ def identify_pivots(self): self.pivots.append(Pivot(curr, 'low')) def identify_segments(self): + # 保持原有的线段识别逻辑 if len(self.pivots) < 2: return @@ -107,6 +120,7 @@ def identify_segments(self): self.segments.append(Segment(start.kline, end.kline, direction)) def identify_central_zones(self): + # 优化中枢识别逻辑 if len(self.segments) < 3: return @@ -116,7 +130,9 @@ def identify_central_zones(self): overlap_high = min(seg1.end.high, seg2.end.high, seg3.start.high) overlap_low = max(seg1.end.low, seg2.end.low, seg3.start.low) if overlap_high > overlap_low: - self.central_zones.append(CentralZone(seg1.end, seg3.start)) + zone = CentralZone(seg1.end, seg3.start) + if not self.central_zones or zone.low > self.central_zones[-1].high or zone.high < self.central_zones[-1].low: + self.central_zones.append(zone) def is_buy_point(self): if not self.central_zones: @@ -126,16 +142,19 @@ def is_buy_point(self): last_kline = self.merged_klines[-1] prev_kline = self.merged_klines[-2] - # 第一次突破中枢 - if prev_kline.close <= last_zone.high and last_kline.close > last_zone.high: + # 趋势判断 + trend = self.judge_trend() + + # 第一类买点:突破中枢上沿 + if prev_kline.close <= last_zone.high and last_kline.close > last_zone.high and trend == 1: return 1 - # 回调后收盘价高于中枢 - if self.lines.buy_signal[-1] == 1 and last_kline.close > last_zone.high: + # 第二类买点:回调不破中枢 + if self.lines.buy_signal[-1] == 1 and last_kline.low > last_zone.low and trend == 1: return 2 - # 回调跌破中枢 - if self.lines.buy_signal[-1] == 1 and last_kline.close <= last_zone.high: + # 第三类买点:中枢震荡突破 + if last_zone.low < last_kline.close < last_zone.high and self.is_volume_breakout() and trend == 1: return 3 return 0 @@ -147,39 +166,59 @@ def is_sell_point(self): last_zone = self.central_zones[-1] last_kline = self.merged_klines[-1] - # 第一类卖点:向上离开中枢后回调不升破中枢 - # if last_kline.high < last_zone.high and last_kline.close < last_zone.low: - # return 1 + # 趋势判断 + trend = self.judge_trend() - # 第二类卖点:在中枢中震荡后向下突破 - if last_kline.close < last_zone.low and self.merged_klines[-2].close >= last_zone.low: + # 第一类卖点:跌破中枢下沿 + if last_kline.close < last_zone.low and self.merged_klines[-2].close >= last_zone.low and trend == -1: + return 1 + + # 第二类卖点:反弹不破中枢 + if self.lines.sell_signal[-1] == 1 and last_kline.high < last_zone.high and trend == -1: return 2 + # 第三类卖点:中枢震荡突破下沿 + if last_zone.low < last_kline.close < last_zone.high and self.is_volume_breakout() and trend == -1: + return 3 + return 0 + def judge_trend(self): + # 使用MACD判断趋势 + if self.macd.macd[0] > self.macd.signal[0] and self.macd.macd[0] > 0: + return 1 # 上升趋势 + elif self.macd.macd[0] < self.macd.signal[0] and self.macd.macd[0] < 0: + return -1 # 下降趋势 + else: + return 0 # 震荡 + + def is_volume_breakout(self): + # 判断是否出现放量 + return self.data.volume[0] > self.volume_ma[0] * 1.5 + def is_divergence(self, seg1, seg2): - # 简单的背驰判断,可以根据实际需求进行调整 + # 判断背驰 price_change1 = abs(seg1.end.close - seg1.start.close) price_change2 = abs(seg2.end.close - seg2.start.close) - volume1 = sum([k.close for k in self.merged_klines[self.merged_klines.index(seg1.start):self.merged_klines.index(seg1.end)+1]]) - volume2 = sum([k.close for k in self.merged_klines[self.merged_klines.index(seg2.start):self.merged_klines.index(seg2.end)+1]]) + volume1 = sum([k.volume for k in self.merged_klines[self.merged_klines.index(seg1.start):self.merged_klines.index(seg1.end)+1]]) + volume2 = sum([k.volume for k in self.merged_klines[self.merged_klines.index(seg2.start):self.merged_klines.index(seg2.end)+1]]) return (seg1.direction == seg2.direction) and (price_change2 > price_change1) and (volume2 < volume1) -class ChanStrategy(BaseStrategy): +class ImprovedChanStrategy(BaseStrategy): params = ( - ('maperiod', 20), + ('atr_period', 14), + ('atr_multiplier', 2), ) def __init__(self): super().__init__() self.chan_indicators = {} for d in self.datas: - self.chan_indicators[d] = ChanIndicator(d, period=self.params.maperiod) + self.chan_indicators[d] = ChanIndicator(d, period=20, atr_period=self.params.atr_period, atr_multiplier=self.params.atr_multiplier) def next(self): for data in self.datas: self.process_data(data) - self.check_sell_strategy(data) def process_data(self, data): if self.orders.get(data): @@ -187,21 +226,49 @@ def process_data(self, data): position = self.getposition(data) buy_signal = self.chan_indicators[data].buy_signal[0] + sell_signal = self.chan_indicators[data].sell_signal[0] if not position: - if buy_signal == 2: - self.log(f'创建买入订单: {data._name} (回调后收盘价高于中枢), 价格: {data.close[0]}') + if buy_signal > 0: + self.log(f'创建买入订单: {data._name} (买点类型: {buy_signal}), 价格: {data.close[0]}') self.buy_stock(data) - elif buy_signal == 3: - self.log(f'回调跌破中枢: {data._name}, 价格: {data.close[0]}') - self.orders[data] = 'waiting' else: - if buy_signal == 3 and self.orders.get(data) == 'waiting': - if data.close[0] < data.low[-1]: - self.log(f'创建卖出订单: {data._name} (跌破中枢后创新低), 价格: {data.close[0]}') - self.close(data) - else: - self.log(f'继续持有: {data._name} (跌破中枢但未创新低), 价格: {data.close[0]}') - self.orders[data] = None + if sell_signal > 0: + self.log(f'创建卖出订单: {data._name} (卖点类型: {sell_signal}), 价格: {data.close[0]}') + self.close(data) + + self.check_stop_loss(data) + + def check_stop_loss(self, data): + position = self.getposition(data) + if not position: + return + + atr = self.chan_indicators[data].atr[0] + current_stop = self.buyprice[data] - self.params.atr_multiplier * atr + + if data.close[0] < current_stop: + self.log(f'触发动态止损: {data._name}, 价格: {data.close[0]}') + self.close(data) + + def buy_stock(self, data, size=None): + if size is None: + size = self.calculate_buy_size(data) + if size > 0: + self.orders[data] = self.buy(data=data, size=size) + self.position_value[data] = size * data.close[0] + self.buyprice[data] = data.close[0] + else: + self.log(f'可用资金不足,无法买入: {data._name}, 可用资金: {self.broker.getvalue() - sum(self.position_value.values())}') + + def calculate_buy_size(self, data): + available_cash = self.broker.getvalue() - sum(self.position_value.values()) + if available_cash <= 0: + return 0 + risk_per_trade = self.broker.getvalue() * 0.01 # 风险控制:每次交易最多损失账户1%的资金 + atr = self.chan_indicators[data].atr[0] + stop_loss = data.close[0] - self.params.atr_multiplier * atr + shares = int(risk_per_trade / (data.close[0] - stop_loss)) + return min(shares, int(available_cash / data.close[0])) diff --git a/instock/core/backtest/backtrader_manager.py b/instock/core/backtest/backtrader_manager.py index 657c8fd79f..e069e602a0 100644 --- a/instock/core/backtest/backtrader_manager.py +++ b/instock/core/backtest/backtrader_manager.py @@ -11,7 +11,7 @@ from matplotlib import pyplot as plt import instock.core.tablestructure as tbs -from instock.core.backtest.Chan import ChanStrategy +from instock.core.backtest.Chan import ImprovedChanStrategy from instock.core.backtest.volume_break_strategy import VolumeBreakStrategy from instock.core.singleton_stock import stock_hist_data, stock_data from instock.lib.singleton_type import singleton_type @@ -22,12 +22,12 @@ class back_test(metaclass=singleton_type): - def bt_strategy(self, date=None, strategy=None): + def bt_strategy(self, date=None, strategy=None,rand_num=2): if date is None: date = datetime.now() - timedelta(days=1) if strategy is None: raise Exception("策略类为空") - data = self.get_data(date, rand_num=2) + data = self.get_data(date=date, rand_num=rand_num) cerebro = bt.Cerebro() cerebro.addstrategy(strategy) cerebro.broker.set_cash(100000.0) @@ -142,4 +142,5 @@ def get_data(self, date, rand_num=100): if __name__ == '__main__': test = back_test() - test.bt_strategy_multiple(strategy=VolumeBreakStrategy, iterations=25) + test.bt_strategy_multiple(strategy=VolumeBreakStrategy, iterations=200) + # test.bt_strategy(strategy=VolumeBreakStrategy, rand_num=10) diff --git a/instock/core/backtest/base_strategy.py b/instock/core/backtest/base_strategy.py index c2447b335b..34d02a1536 100644 --- a/instock/core/backtest/base_strategy.py +++ b/instock/core/backtest/base_strategy.py @@ -1,4 +1,6 @@ import backtrader as bt + + class BaseStrategy(bt.Strategy): params = ( ('stop_loss', 0.06), @@ -31,35 +33,46 @@ def buy_stock(self, data, size=None): self.orders[data] = self.buy(data=data, size=size) self.position_value[data] = size * data.close[0] + else: + self.log(f'可用资金不足,无法买入: {data._name}, 可用资金: {self.broker.getvalue() - sum(self.position_value.values())}') - def calculate_buy_size(self, data): + def calculate_buy_size(self, data, ratio=None): available_cash = self.broker.getvalue() - sum(self.position_value.values()) if available_cash <= 0: return 0 - ratio = 0.5 + if ratio is None: + if self.position: + ratio = 0.2 + else: + ratio = 0.5 return int(round(available_cash * ratio / data.close[0] / 100) * 100) def check_sell_strategy(self, data): position = self.getposition(data) if not position: - return + return True if data in self.stop_loss_price and data.close[0] <= self.stop_loss_price[data]: self.log(f'触发止损: {data._name}, 价格: {data.close[0]}') self.close(data) - if data.low[0] < data.low[-1] and data.high[0] < data.high[-1]\ - and data.low[-1] < data.low[-2] and data.high[-1] < data.high[-2]: + return True + if data.low[0] < data.low[-1] < data.low[-2] and data.high[0] < data.high[-1] < data.high[-2]: self.log(f'触发最高和最低点低于昨日卖出: {data._name}, 价格: {data.close[0]}') self.close(data) + return True if data in self.take_profit_price and data.close[0] >= self.take_profit_price[data]: if data.low[0] < data.low[-1] and data.high[0] < data.high[-1]: self.log(f'触发最低点低于昨日最低点卖出: {data._name}, 价格: {data.close[0]}') self.close(data) + return True - if data.volume[0] == max(data.volume.get(size=7)) and data.close[0] < data.low[-1]: + if data.volume[0] == max(data.volume.get(size=7) or [0]) and data.close[0] < data.low[-1]: self.log(f'触发成交量和价格条件卖出: {data._name}, 价格: {data.close[0]}') self.close(data) + return True + return False - def calculate_limit_up_price(self, data): + @staticmethod + def calculate_limit_up_price(data): previous_close = data.close[-1] stock_code = data._name[:6] limit_up_ratio = 0.20 if stock_code.startswith('300') else 0.10 @@ -90,7 +103,7 @@ def notify_order(self, order): buycomm = self.buycomm[order.data] sellprice = order.executed.price sellcomm = order.executed.comm - profit = (sellprice - buyprice) * order.executed.size * -1 - buycomm - sellcomm + profit = (sellprice - buyprice) * order.executed.size * -1 - buycomm - sellcomm profit_pct = (profit / (buyprice * order.executed.size)) * 100 * -1 self.log( f'卖出执行: {order.data._name}, 价格: {sellprice:.2f}, ' diff --git a/instock/core/backtest/volume_break_strategy.py b/instock/core/backtest/volume_break_strategy.py index ec01351985..d06a09711e 100644 --- a/instock/core/backtest/volume_break_strategy.py +++ b/instock/core/backtest/volume_break_strategy.py @@ -2,10 +2,11 @@ import numpy as np from instock.core.backtest.base_strategy import BaseStrategy + class VolumeBreakStrategy(BaseStrategy): params = ( ('volume_threshold', 1.5), # 成交量阈值 - ('price_drop_threshold', 0.15), # 价格下跌阈值 + ('price_drop_threshold', 0.10), # 价格下跌阈值 ('lookback_period', 7), # 回看天数 ) @@ -28,12 +29,17 @@ def process_data(self, data): if self.orders.get(data): return - if not self.position: - if self.buy_condition(data): - self.log(f'买入信号: {data._name}, 价格: {data.close[0]}') - self.buy_stock(data) - self.check_sell_strategy(data) + position = self.getposition(data) + if position: + sell_signal = self.check_sell_strategy(data) + if sell_signal: + return + if self.buy_condition(data): + self.log(f'买入信号: {data._name}, 价格: {data.close[0]}') + self.buy_stock(data) + return + def buy_condition(self, data): # 条件1: 最近七天有一天成交量大于当天-7天成交量均值的150% diff --git a/instock/core/strategy/volume_break_strategy.py b/instock/core/strategy/volume_break_strategy.py new file mode 100644 index 0000000000..66d74ec76c --- /dev/null +++ b/instock/core/strategy/volume_break_strategy.py @@ -0,0 +1,56 @@ +#!/usr/local/bin/python +# -*- coding: utf-8 -*- + +import numpy as np +import talib as tl + +__author__ = 'myh ' +__date__ = '2023/3/10 ' + +# 量价突破策略 +# 1.最近七天有一天成交量大于当天-7天成交量均值的150% +# 2.当天的收盘价低于最近七天的最高价的15% +# 3.当天的成交量低于最高日的成交量 +# 4.当天的最低价格高于昨天的最低价 +def check(code_name, data, date=None, threshold=60): + if date is None: + end_date = code_name[0] + else: + end_date = date.strftime("%Y-%m-%d") + if end_date is not None: + mask = (data['date'] <= end_date) + data = data.loc[mask].copy() + if len(data.index) < threshold: + return False + + # 参数设置 + volume_threshold = 1.5 + price_drop_threshold = 0.15 + lookback_period = 7 + + # 计算需要的指标 + data['volume_ma'] = tl.MA(data['volume'].values, timeperiod=lookback_period) + data['volume_ma'].values[np.isnan(data['volume_ma'].values)] = 0.0 + data['high_price'] = data['high'].rolling(window=lookback_period).max() + data['max_volume'] = data['volume'].rolling(window=lookback_period).max() + + # 获取最近的数据 + recent_data = data.tail(lookback_period) + latest_data = recent_data.iloc[-1] + + # 条件1: 最近七天有一天成交量大于当天-7天成交量均值的150% + volume_condition = (recent_data['volume'] > recent_data['volume_ma'] * volume_threshold).any() + + # 条件2: 当天的收盘价低于最近七天的最高价的15% + price_condition = latest_data['close'] < latest_data['high_price'] * (1 - price_drop_threshold) + + # 条件3: 当天的成交量低于最高日的成交量 + current_volume_condition = latest_data['volume'] < latest_data['max_volume'] + + # 条件4: 当天的最低价格高于昨天的最低价 + low_price_condition = latest_data['low'] > data['low'].iloc[-2] + + # 所有条件都满足时返回True + return (volume_condition and price_condition and + current_volume_condition and low_price_condition) + diff --git a/instock/core/tablestructure.py b/instock/core/tablestructure.py index 0234027a3d..e55a835d63 100644 --- a/instock/core/tablestructure.py +++ b/instock/core/tablestructure.py @@ -4,7 +4,7 @@ from sqlalchemy import DATE, NVARCHAR, FLOAT, BIGINT, SmallInteger, DATETIME from sqlalchemy.dialects.mysql import BIT import talib as tl -from instock.core.strategy import enter +from instock.core.strategy import enter, volume_break_strategy from instock.core.strategy import turtle_trade from instock.core.strategy import climax_limitdown from instock.core.strategy import low_atr @@ -365,28 +365,30 @@ 'columns': _tmp_columns} TABLE_CN_STOCK_STRATEGIES = [ - {'name': 'cn_stock_strategy_enter', 'cn': '放量上涨', 'size': 70, 'func': enter.check_volume, - 'columns': _tmp_columns}, - {'name': 'cn_stock_strategy_keep_increasing', 'cn': '均线多头', 'size': 70, 'func': keep_increasing.check, - 'columns': _tmp_columns}, - {'name': 'cn_stock_strategy_parking_apron', 'cn': '停机坪', 'size': 70, 'func': parking_apron.check, - 'columns': _tmp_columns}, - {'name': 'cn_stock_strategy_backtrace_ma250', 'cn': '回踩年线', 'size': 70, 'func': backtrace_ma250.check, - 'columns': _tmp_columns}, - {'name': 'cn_stock_strategy_breakthrough_platform', 'cn': '突破平台', 'size': 70, - 'func': breakthrough_platform.check, - 'columns': _tmp_columns}, - {'name': 'cn_stock_strategy_low_backtrace_increase', 'cn': '无大幅回撤', 'size': 70, - 'func': low_backtrace_increase.check, - 'columns': _tmp_columns}, - {'name': 'cn_stock_strategy_turtle_trade', 'cn': '海龟交易法则', 'size': 70, 'func': turtle_trade.check_enter, - 'columns': _tmp_columns}, - {'name': 'cn_stock_strategy_high_tight_flag', 'cn': '高而窄的旗形', 'size': 70, - 'func': high_tight_flag.check_high_tight, - 'columns': _tmp_columns}, - {'name': 'cn_stock_strategy_climax_limitdown', 'cn': '放量跌停', 'size': 70, 'func': climax_limitdown.check, - 'columns': _tmp_columns}, - {'name': 'cn_stock_strategy_low_atr', 'cn': '低ATR成长', 'size': 70, 'func': low_atr.check_low_increase, + # {'name': 'cn_stock_strategy_enter', 'cn': '放量上涨', 'size': 70, 'func': enter.check_volume, + # 'columns': _tmp_columns}, + # {'name': 'cn_stock_strategy_keep_increasing', 'cn': '均线多头', 'size': 70, 'func': keep_increasing.check, + # 'columns': _tmp_columns}, + # {'name': 'cn_stock_strategy_parking_apron', 'cn': '停机坪', 'size': 70, 'func': parking_apron.check, + # 'columns': _tmp_columns}, + # {'name': 'cn_stock_strategy_backtrace_ma250', 'cn': '回踩年线', 'size': 70, 'func': backtrace_ma250.check, + # 'columns': _tmp_columns}, + # {'name': 'cn_stock_strategy_breakthrough_platform', 'cn': '突破平台', 'size': 70, + # 'func': breakthrough_platform.check, + # 'columns': _tmp_columns}, + # {'name': 'cn_stock_strategy_low_backtrace_increase', 'cn': '无大幅回撤', 'size': 70, + # 'func': low_backtrace_increase.check, + # 'columns': _tmp_columns}, + # {'name': 'cn_stock_strategy_turtle_trade', 'cn': '海龟交易法则', 'size': 70, 'func': turtle_trade.check_enter, + # 'columns': _tmp_columns}, + # {'name': 'cn_stock_strategy_high_tight_flag', 'cn': '高而窄的旗形', 'size': 70, + # 'func': high_tight_flag.check_high_tight, + # 'columns': _tmp_columns}, + # {'name': 'cn_stock_strategy_climax_limitdown', 'cn': '放量跌停', 'size': 70, 'func': climax_limitdown.check, + # 'columns': _tmp_columns}, + # {'name': 'cn_stock_strategy_low_atr', 'cn': '低ATR成长', 'size': 70, 'func': low_atr.check_low_increase, + # 'columns': _tmp_columns}, + {'name': 'volume_break_strategy', 'cn': '回调选股', 'size': 60, 'func': volume_break_strategy.check, 'columns': _tmp_columns} ] From 218fd82389729b9151ab06da06d5f0c1015c25cf Mon Sep 17 00:00:00 2001 From: duanhaoran Date: Mon, 9 Dec 2024 21:14:16 +0800 Subject: [PATCH 4/8] =?UTF-8?q?func(service):=E5=A2=9E=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E7=AD=96=E7=95=A5=20=E5=9B=9E=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- instock/core/backtest/base_strategy.py | 21 ++- .../core/backtest/volume_break_strategy.py | 6 +- instock/core/strategy/common_sell_check.py | 62 ++++++++ instock/core/strategy/volume_break.py | 90 +++++++++++ .../core/strategy/volume_break_strategy.py | 56 ------- instock/core/tablestructure.py | 142 ++++++++++++------ instock/job/execute_daily_job.py | 4 + instock/job/strategy_position_daily_job.py | 121 +++++++++++++++ instock/lib/run_template.py | 8 +- instock/trade/strategies/stratey1.py | 96 +++++++++--- instock/trade/trade_service.py | 2 +- 11 files changed, 467 insertions(+), 141 deletions(-) create mode 100644 instock/core/strategy/common_sell_check.py create mode 100644 instock/core/strategy/volume_break.py delete mode 100644 instock/core/strategy/volume_break_strategy.py create mode 100644 instock/job/strategy_position_daily_job.py diff --git a/instock/core/backtest/base_strategy.py b/instock/core/backtest/base_strategy.py index 34d02a1536..0bafe503be 100644 --- a/instock/core/backtest/base_strategy.py +++ b/instock/core/backtest/base_strategy.py @@ -49,21 +49,20 @@ def calculate_buy_size(self, data, ratio=None): def check_sell_strategy(self, data): position = self.getposition(data) - if not position: - return True - if data in self.stop_loss_price and data.close[0] <= self.stop_loss_price[data]: - self.log(f'触发止损: {data._name}, 价格: {data.close[0]}') - self.close(data) - return True + if position: + if data in self.stop_loss_price and data.close[0] <= self.stop_loss_price[data]: + self.log(f'触发止损: {data._name}, 价格: {data.close[0]}') + self.close(data) + return True + if data in self.take_profit_price and data.close[0] >= self.take_profit_price[data]: + if data.low[0] < data.low[-1] and data.high[0] < data.high[-1]: + self.log(f'触发最低点低于昨日最低点卖出: {data._name}, 价格: {data.close[0]}') + self.close(data) + return True if data.low[0] < data.low[-1] < data.low[-2] and data.high[0] < data.high[-1] < data.high[-2]: self.log(f'触发最高和最低点低于昨日卖出: {data._name}, 价格: {data.close[0]}') self.close(data) return True - if data in self.take_profit_price and data.close[0] >= self.take_profit_price[data]: - if data.low[0] < data.low[-1] and data.high[0] < data.high[-1]: - self.log(f'触发最低点低于昨日最低点卖出: {data._name}, 价格: {data.close[0]}') - self.close(data) - return True if data.volume[0] == max(data.volume.get(size=7) or [0]) and data.close[0] < data.low[-1]: self.log(f'触发成交量和价格条件卖出: {data._name}, 价格: {data.close[0]}') diff --git a/instock/core/backtest/volume_break_strategy.py b/instock/core/backtest/volume_break_strategy.py index d06a09711e..ecb28d70a8 100644 --- a/instock/core/backtest/volume_break_strategy.py +++ b/instock/core/backtest/volume_break_strategy.py @@ -31,10 +31,8 @@ def process_data(self, data): position = self.getposition(data) - if position: - sell_signal = self.check_sell_strategy(data) - if sell_signal: - return + if self.check_sell_strategy(data): + return if self.buy_condition(data): self.log(f'买入信号: {data._name}, 价格: {data.close[0]}') self.buy_stock(data) diff --git a/instock/core/strategy/common_sell_check.py b/instock/core/strategy/common_sell_check.py new file mode 100644 index 0000000000..fa9f73b20c --- /dev/null +++ b/instock/core/strategy/common_sell_check.py @@ -0,0 +1,62 @@ +#!/usr/local/bin/python +# -*- coding: utf-8 -*- + +import numpy as np +import talib as tl + +__author__ = 'myh ' +__date__ = '2023/3/10 ' + +# 止损止盈 +params = { + 'stop_loss': 0.06, + 'take_profit': 0.30, + 'volume_threshold': 1.5, + 'price_drop_threshold': 0.15, + 'lookback_period': 7 +} + +# 通用卖出策略 +def check(code_name, data, date=None, cost=None, threshold=60): + if date is None: + end_date = code_name[0] + else: + end_date = date.strftime("%Y-%m-%d") + if end_date is not None: + mask = (data['date'] <= end_date) + data = data.loc[mask].copy() + if len(data.index) < threshold: + return True + + # 检查是否应该卖出 + if check_sell_signal(data, cost=cost, stop_loss=params['stop_loss'], take_profit=params['take_profit']): + return True # 如果应该卖出,则不考虑买入 + + return False + +def check_sell_signal(data, cost, stop_loss, take_profit): + latest_data = data.iloc[-1] + previous_data = data.iloc[-2] + + if cost: + # 检查止损 + if latest_data['close'] <= cost * (1 - stop_loss): + return True + + # 检查止盈 + if latest_data['close'] >= cost * (1 + take_profit): + if latest_data['low'] < previous_data['low'] and latest_data['high'] < previous_data['high']: + return True + + # 检查最高和最低点是否低于昨日 + if (latest_data['low'] < previous_data['low'] < data.iloc[-3]['low'] and + latest_data['high'] < previous_data['high'] < data.iloc[-3]['high']): + return True + + # 检查成交量和价格条件 + if (latest_data['volume'] == max(data['volume'].tail(params['lookback_period'])) and + latest_data['close'] < previous_data['low']): + return True + + return False + diff --git a/instock/core/strategy/volume_break.py b/instock/core/strategy/volume_break.py new file mode 100644 index 0000000000..9425c00311 --- /dev/null +++ b/instock/core/strategy/volume_break.py @@ -0,0 +1,90 @@ +#!/usr/local/bin/python +# -*- coding: utf-8 -*- + +import numpy as np +import talib as tl + +__author__ = 'myh ' +__date__ = '2023/3/10 ' + +# 止损止盈 +params = { + 'stop_loss': 0.06, + 'take_profit': 0.30, + 'volume_threshold': 1.5, + 'price_drop_threshold': 0.15, + 'lookback_period': 7 +} + +# 量价突破策略 +# 1.最近七天有一天成交量大于当天-7天成交量均值的150% +# 2.当天的收盘价低于最近七天的最高价的15% +# 3.当天的成交量低于最高日的成交量 +# 4.当天的最低价格高于昨天的最低价 +def check(code_name, data, date=None, threshold=60, cost=None): + if date is None: + end_date = code_name[0] + else: + end_date = date.strftime("%Y-%m-%d") + if end_date is not None: + mask = (data['date'] <= end_date) + data = data.loc[mask].copy() + if len(data.index) < threshold: + return False + + # 检查是否应该卖出 + if check_sell_signal(data, cost=cost, stop_loss=params['stop_loss'], take_profit=params['take_profit']): + return False # 如果应该卖出,则不考虑买入 + + # 计算需要的指标 + data['volume_ma'] = tl.MA(data['volume'].values, timeperiod=params['lookback_period']) + data['volume_ma'].values[np.isnan(data['volume_ma'].values)] = 0.0 + data['high_price'] = data['high'].rolling(window=params['lookback_period']).max() + data['max_volume'] = data['volume'].rolling(window=params['lookback_period']).max() + + # 获取最近的数据 + recent_data = data.tail(params['lookback_period']) + latest_data = recent_data.iloc[-1] + + # 条件1: 最近七天有一天成交量大于当天-7天成交量均值的150% + volume_condition = (recent_data['volume'] > recent_data['volume_ma'] * params['volume_threshold']).any() + + # 条件2: 当天的收盘价低于最近七天的最高价的15% + price_condition = latest_data['close'] < latest_data['high_price'] * (1 - params['price_drop_threshold']) + + # 条件3: 当天的成交量低于最高日的成交量 + current_volume_condition = latest_data['volume'] < latest_data['max_volume'] + + # 条件4: 当天的最低价格高于昨天的最低价 + low_price_condition = latest_data['low'] > data['low'].iloc[-2] + + # 所有条件都满足时返回True + return (volume_condition and price_condition and + current_volume_condition and low_price_condition) + +def check_sell_signal(data, cost, stop_loss, take_profit): + latest_data = data.iloc[-1] + previous_data = data.iloc[-2] + + if cost: + # 检查止损 + if latest_data['close'] <= cost * (1 - stop_loss): + return True + + # 检查止盈 + if latest_data['close'] >= cost * (1 + take_profit): + if latest_data['low'] < previous_data['low'] and latest_data['high'] < previous_data['high']: + return True + + # 检查最高和最低点是否低于昨日 + if (latest_data['low'] < previous_data['low'] < data.iloc[-3]['low'] and + latest_data['high'] < previous_data['high'] < data.iloc[-3]['high']): + return True + + # 检查成交量和价格条件 + if (latest_data['volume'] == max(data['volume'].tail(params['lookback_period'])) and + latest_data['close'] < previous_data['low']): + return True + + return False + diff --git a/instock/core/strategy/volume_break_strategy.py b/instock/core/strategy/volume_break_strategy.py deleted file mode 100644 index 66d74ec76c..0000000000 --- a/instock/core/strategy/volume_break_strategy.py +++ /dev/null @@ -1,56 +0,0 @@ -#!/usr/local/bin/python -# -*- coding: utf-8 -*- - -import numpy as np -import talib as tl - -__author__ = 'myh ' -__date__ = '2023/3/10 ' - -# 量价突破策略 -# 1.最近七天有一天成交量大于当天-7天成交量均值的150% -# 2.当天的收盘价低于最近七天的最高价的15% -# 3.当天的成交量低于最高日的成交量 -# 4.当天的最低价格高于昨天的最低价 -def check(code_name, data, date=None, threshold=60): - if date is None: - end_date = code_name[0] - else: - end_date = date.strftime("%Y-%m-%d") - if end_date is not None: - mask = (data['date'] <= end_date) - data = data.loc[mask].copy() - if len(data.index) < threshold: - return False - - # 参数设置 - volume_threshold = 1.5 - price_drop_threshold = 0.15 - lookback_period = 7 - - # 计算需要的指标 - data['volume_ma'] = tl.MA(data['volume'].values, timeperiod=lookback_period) - data['volume_ma'].values[np.isnan(data['volume_ma'].values)] = 0.0 - data['high_price'] = data['high'].rolling(window=lookback_period).max() - data['max_volume'] = data['volume'].rolling(window=lookback_period).max() - - # 获取最近的数据 - recent_data = data.tail(lookback_period) - latest_data = recent_data.iloc[-1] - - # 条件1: 最近七天有一天成交量大于当天-7天成交量均值的150% - volume_condition = (recent_data['volume'] > recent_data['volume_ma'] * volume_threshold).any() - - # 条件2: 当天的收盘价低于最近七天的最高价的15% - price_condition = latest_data['close'] < latest_data['high_price'] * (1 - price_drop_threshold) - - # 条件3: 当天的成交量低于最高日的成交量 - current_volume_condition = latest_data['volume'] < latest_data['max_volume'] - - # 条件4: 当天的最低价格高于昨天的最低价 - low_price_condition = latest_data['low'] > data['low'].iloc[-2] - - # 所有条件都满足时返回True - return (volume_condition and price_condition and - current_volume_condition and low_price_condition) - diff --git a/instock/core/tablestructure.py b/instock/core/tablestructure.py index e55a835d63..332610a514 100644 --- a/instock/core/tablestructure.py +++ b/instock/core/tablestructure.py @@ -4,7 +4,7 @@ from sqlalchemy import DATE, NVARCHAR, FLOAT, BIGINT, SmallInteger, DATETIME from sqlalchemy.dialects.mysql import BIT import talib as tl -from instock.core.strategy import enter, volume_break_strategy +from instock.core.strategy import enter, volume_break, common_sell_check from instock.core.strategy import turtle_trade from instock.core.strategy import climax_limitdown from instock.core.strategy import low_atr @@ -155,47 +155,74 @@ CN_STOCK_SECTOR_FUND_FLOW = (('行业资金流', '概念资金流'), ({'name': 'stock_sector_fund_flow_rank', 'cn': '今日', - 'columns': {'name': {'type': NVARCHAR(20), 'cn': '名称', 'size': 70}, - 'change_rate': {'type': FLOAT, 'cn': '今日涨跌幅', 'size': 70}, - 'fund_amount': {'type': BIGINT, 'cn': '今日主力净流入-净额', 'size': 100}, - 'fund_rate': {'type': FLOAT, 'cn': '今日主力净流入-净占比', 'size': 70}, - 'fund_amount_super': {'type': BIGINT, 'cn': '今日超大单净流入-净额', 'size': 100}, - 'fund_rate_super': {'type': FLOAT, 'cn': '今日超大单净流入-净占比', 'size': 70}, - 'fund_amount_large': {'type': BIGINT, 'cn': '今日大单净流入-净额', 'size': 100}, - 'fund_rate_large': {'type': FLOAT, 'cn': '今日大单净流入-净占比', 'size': 70}, - 'fund_amount_medium': {'type': BIGINT, 'cn': '今日中单净流入-净额', 'size': 100}, - 'fund_rate_medium': {'type': FLOAT, 'cn': '今日中单净流入-净占比', 'size': 70}, - 'fund_amount_small': {'type': BIGINT, 'cn': '今日小单净流入-净额', 'size': 100}, - 'fund_rate_small': {'type': FLOAT, 'cn': '今日小单净流入-净占比', 'size': 70}, - 'stock_name': {'type': NVARCHAR(20), 'cn': '今日主力净流入最大股', 'size': 70}}}, - {'name': 'stock_individual_fund_flow_rank', 'cn': '5日', - 'columns': {'name': {'type': NVARCHAR(20), 'cn': '名称', 'size': 70}, - 'change_rate_5': {'type': FLOAT, 'cn': '5日涨跌幅', 'size': 70}, - 'fund_amount_5': {'type': BIGINT, 'cn': '5日主力净流入-净额', 'size': 100}, - 'fund_rate_5': {'type': FLOAT, 'cn': '5日主力净流入-净占比', 'size': 70}, - 'fund_amount_super_5': {'type': BIGINT, 'cn': '5日超大单净流入-净额', 'size': 100}, - 'fund_rate_super_5': {'type': FLOAT, 'cn': '5日超大单净流入-净占比', 'size': 70}, - 'fund_amount_large_5': {'type': BIGINT, 'cn': '5日大单净流入-净额', 'size': 100}, - 'fund_rate_large_5': {'type': FLOAT, 'cn': '5日大单净流入-净占比', 'size': 70}, - 'fund_amount_medium_5': {'type': BIGINT, 'cn': '5日中单净流入-净额', 'size': 100}, - 'fund_rate_medium_5': {'type': FLOAT, 'cn': '5日中单净流入-净占比', 'size': 70}, - 'fund_amount_small_5': {'type': BIGINT, 'cn': '5日小单净流入-净额', 'size': 100}, - 'fund_rate_small_5': {'type': FLOAT, 'cn': '5日小单净流入-净占比', 'size': 70}, - 'stock_name_5': {'type': NVARCHAR(20), 'cn': '5日主力净流入最大股', 'size': 70}}}, - {'name': 'stock_individual_fund_flow_rank', 'cn': '10日', - 'columns': {'name': {'type': NVARCHAR(20), 'cn': '名称', 'size': 70}, - 'change_rate_10': {'type': FLOAT, 'cn': '10日涨跌幅', 'size': 70}, - 'fund_amount_10': {'type': BIGINT, 'cn': '10日主力净流入-净额', 'size': 100}, - 'fund_rate_10': {'type': FLOAT, 'cn': '10日主力净流入-净占比', 'size': 70}, - 'fund_amount_super_10': {'type': BIGINT, 'cn': '10日超大单净流入-净额', 'size': 100}, - 'fund_rate_super_10': {'type': FLOAT, 'cn': '10日超大单净流入-净占比', 'size': 70}, - 'fund_amount_large_10': {'type': BIGINT, 'cn': '10日大单净流入-净额', 'size': 100}, - 'fund_rate_large_10': {'type': FLOAT, 'cn': '10日大单净流入-净占比', 'size': 70}, - 'fund_amount_medium_10': {'type': BIGINT, 'cn': '10日中单净流入-净额', 'size': 100}, - 'fund_rate_medium_10': {'type': FLOAT, 'cn': '10日中单净流入-净占比', 'size': 70}, - 'fund_amount_small_10': {'type': BIGINT, 'cn': '10日小单净流入-净额', 'size': 100}, - 'fund_rate_small_10': {'type': FLOAT, 'cn': '10日小单净流入-净占比', 'size': 70}, - 'stock_name_10': {'type': NVARCHAR(20), 'cn': '10日主力净流入最大股', 'size': 70}}})) + 'columns': {'name': {'type': NVARCHAR(20), 'cn': '名称', 'size': 70}, + 'change_rate': {'type': FLOAT, 'cn': '今日涨跌幅', 'size': 70}, + 'fund_amount': {'type': BIGINT, 'cn': '今日主力净流入-净额', 'size': 100}, + 'fund_rate': {'type': FLOAT, 'cn': '今日主力净流入-净占比', 'size': 70}, + 'fund_amount_super': {'type': BIGINT, 'cn': '今日超大单净流入-净额', + 'size': 100}, + 'fund_rate_super': {'type': FLOAT, 'cn': '今日超大单净流入-净占比', + 'size': 70}, + 'fund_amount_large': {'type': BIGINT, 'cn': '今日大单净流入-净额', + 'size': 100}, + 'fund_rate_large': {'type': FLOAT, 'cn': '今日大单净流入-净占比', + 'size': 70}, + 'fund_amount_medium': {'type': BIGINT, 'cn': '今日中单净流入-净额', + 'size': 100}, + 'fund_rate_medium': {'type': FLOAT, 'cn': '今日中单净流入-净占比', + 'size': 70}, + 'fund_amount_small': {'type': BIGINT, 'cn': '今日小单净流入-净额', + 'size': 100}, + 'fund_rate_small': {'type': FLOAT, 'cn': '今日小单净流入-净占比', + 'size': 70}, + 'stock_name': {'type': NVARCHAR(20), 'cn': '今日主力净流入最大股', + 'size': 70}}}, + {'name': 'stock_individual_fund_flow_rank', 'cn': '5日', + 'columns': {'name': {'type': NVARCHAR(20), 'cn': '名称', 'size': 70}, + 'change_rate_5': {'type': FLOAT, 'cn': '5日涨跌幅', 'size': 70}, + 'fund_amount_5': {'type': BIGINT, 'cn': '5日主力净流入-净额', 'size': 100}, + 'fund_rate_5': {'type': FLOAT, 'cn': '5日主力净流入-净占比', 'size': 70}, + 'fund_amount_super_5': {'type': BIGINT, 'cn': '5日超大单净流入-净额', + 'size': 100}, + 'fund_rate_super_5': {'type': FLOAT, 'cn': '5日超大单净流入-净占比', + 'size': 70}, + 'fund_amount_large_5': {'type': BIGINT, 'cn': '5日大单净流入-净额', + 'size': 100}, + 'fund_rate_large_5': {'type': FLOAT, 'cn': '5日大单净流入-净占比', + 'size': 70}, + 'fund_amount_medium_5': {'type': BIGINT, 'cn': '5日中单净流入-净额', + 'size': 100}, + 'fund_rate_medium_5': {'type': FLOAT, 'cn': '5日中单净流入-净占比', + 'size': 70}, + 'fund_amount_small_5': {'type': BIGINT, 'cn': '5日小单净流入-净额', + 'size': 100}, + 'fund_rate_small_5': {'type': FLOAT, 'cn': '5日小单净流入-净占比', + 'size': 70}, + 'stock_name_5': {'type': NVARCHAR(20), 'cn': '5日主力净流入最大股', + 'size': 70}}}, + {'name': 'stock_individual_fund_flow_rank', 'cn': '10日', + 'columns': {'name': {'type': NVARCHAR(20), 'cn': '名称', 'size': 70}, + 'change_rate_10': {'type': FLOAT, 'cn': '10日涨跌幅', 'size': 70}, + 'fund_amount_10': {'type': BIGINT, 'cn': '10日主力净流入-净额', 'size': 100}, + 'fund_rate_10': {'type': FLOAT, 'cn': '10日主力净流入-净占比', 'size': 70}, + 'fund_amount_super_10': {'type': BIGINT, 'cn': '10日超大单净流入-净额', + 'size': 100}, + 'fund_rate_super_10': {'type': FLOAT, 'cn': '10日超大单净流入-净占比', + 'size': 70}, + 'fund_amount_large_10': {'type': BIGINT, 'cn': '10日大单净流入-净额', + 'size': 100}, + 'fund_rate_large_10': {'type': FLOAT, 'cn': '10日大单净流入-净占比', + 'size': 70}, + 'fund_amount_medium_10': {'type': BIGINT, 'cn': '10日中单净流入-净额', + 'size': 100}, + 'fund_rate_medium_10': {'type': FLOAT, 'cn': '10日中单净流入-净占比', + 'size': 70}, + 'fund_amount_small_10': {'type': BIGINT, 'cn': '10日小单净流入-净额', + 'size': 100}, + 'fund_rate_small_10': {'type': FLOAT, 'cn': '10日小单净流入-净占比', + 'size': 70}, + 'stock_name_10': {'type': NVARCHAR(20), 'cn': '10日主力净流入最大股', + 'size': 70}}})) TABLE_CN_STOCK_FUND_FLOW_INDUSTRY = {'name': 'cn_stock_fund_flow_industry', 'cn': '行业资金流向', 'columns': {'date': {'type': DATE, 'cn': '日期', 'size': 0}}} @@ -388,10 +415,16 @@ # 'columns': _tmp_columns}, # {'name': 'cn_stock_strategy_low_atr', 'cn': '低ATR成长', 'size': 70, 'func': low_atr.check_low_increase, # 'columns': _tmp_columns}, - {'name': 'volume_break_strategy', 'cn': '回调选股', 'size': 60, 'func': volume_break_strategy.check, + {'name': 'volume_break_strategy', 'cn': '回调选股', 'size': 60, 'func': volume_break.check, 'columns': _tmp_columns} ] +#持仓卖出策略 +TABLE_CN_STOCK_POSITION_CHECK = [ + {'name': 'common_sell_strategy', 'cn': '通用卖出策略', 'size': 30, 'func': common_sell_check.check, + 'columns': TABLE_CN_STOCK_FOREIGN_KEY['columns'].copy()} +] + STOCK_KLINE_PATTERN_DATA = {'name': 'cn_stock_pattern_recognitions', 'cn': 'K线形态', 'columns': { 'tow_crows': {'type': SmallInteger, 'cn': '两只乌鸦', 'size': 70, 'func': tl.CDL2CROWS}, @@ -965,6 +998,29 @@ 'LOAN_REPAY_VOL': {'type': FLOAT, 'cn': '融券还量'}, 'LOAN_BALANCE': {'type': FLOAT, 'cn': '融券余额'}}} +TABLE_CN_STOCK_POSITION = {'name': 'cn_stock_position', 'cn': '股票持仓', + 'columns': { + 'date': {'type': DATE, 'cn': '日期'}, + 'code': {'type': NVARCHAR(20), 'cn': '证券代码'}, + 'name': {'type': NVARCHAR(50), 'cn': '证券名称'}, + 'cost_price': {'type': FLOAT, 'cn': '参考成本价'}, + 'available_shares': {'type': BIGINT, 'cn': '股份可用'}, + 'market_price': {'type': FLOAT, 'cn': '参考市价'}, + 'market_value': {'type': FLOAT, 'cn': '参考市值'}, + 'freeze': {'type': BIGINT, 'cn': '股份冻结'}, + }} + +TABLE_CN_STOCK_ACCOUNT = {'name': 'cn_stock_account', 'cn': '股票账户', + 'columns': { + 'date': {'type': DATE, 'cn': '日期'}, + 'market_cap': {'type': NVARCHAR(20), 'cn': '参考市值'}, + 'available_funds': {'type': NVARCHAR(50), 'cn': '可用资金'}, + 'cost_price': {'type': FLOAT, 'cn': '币种'}, + 'total_assets': {'type': BIGINT, 'cn': '总资产'}, + 'profit_loss': {'type': FLOAT, 'cn': '股份参考盈亏'}, + 'balance': {'type': FLOAT, 'cn': '资金余额'}, + 'account_id': {'type': BIGINT, 'cn': '资金帐号'}, + }} def get_field_cn(key, table): f = table.get('columns').get(key) diff --git a/instock/job/execute_daily_job.py b/instock/job/execute_daily_job.py index cf32a33a14..2b848ca756 100644 --- a/instock/job/execute_daily_job.py +++ b/instock/job/execute_daily_job.py @@ -27,6 +27,7 @@ import backtest_data_daily_job as bdj import klinepattern_data_daily_job as kdj import selection_data_daily_job as sddj +import strategy_position_daily_job as spdj __author__ = 'myh ' __date__ = '2023/3/10 ' @@ -58,6 +59,9 @@ def main(): # # # # 第7步创建股票闭盘后才有的数据 acdj.main() + # # # # 第8步持仓股票数据分析 + spdj.main() + logging.info("######## 完成任务, 使用时间: %s 秒 #######" % (time.time() - start)) diff --git a/instock/job/strategy_position_daily_job.py b/instock/job/strategy_position_daily_job.py new file mode 100644 index 0000000000..a5df2d1056 --- /dev/null +++ b/instock/job/strategy_position_daily_job.py @@ -0,0 +1,121 @@ +#!/usr/local/bin/python3 +# -*- coding: utf-8 -*- +import concurrent.futures +import logging +import pandas as pd +import os.path +import sys +import datetime + +from instock.core.stockfetch import fetch_stock_top_entity_data + +cpath_current = os.path.dirname(os.path.dirname(__file__)) +cpath = os.path.abspath(os.path.join(cpath_current, os.pardir)) +sys.path.append(cpath) + +import instock.core.tablestructure as tbs +import instock.lib.database as mdb +import instock.lib.run_template as runt +from instock.core.singleton_stock import stock_hist_data + +__author__ = 'your_name' +__date__ = '2023/current_date' + + +def prepare(date, strategy): + try: + if date is None: + date = datetime.date.today().strftime("%Y-%m-%d") + # 获取当前持仓 + positionTableName = tbs.TABLE_CN_STOCK_POSITION['name'] + if not mdb.checkTableIsExist(positionTableName): + logging.info(f"Table {positionTableName} does not exist. Creating it.") + pdata = pd.DataFrame(data=[['2024-12-09', '603078', '江化微', 18.775,1000, 18.560,18560.0, 0]] , columns=list(tbs.TABLE_CN_STOCK_POSITION['columns'])) + cols_type = tbs.get_field_types(tbs.TABLE_CN_STOCK_POSITION['columns']) + mdb.insert_db_from_df(pdata, positionTableName, cols_type, False, "`date`,`code`") + del_sql = f"DELETE FROM `{positionTableName}`" + mdb.executeSql(del_sql) + return + # 获取当前持仓 + result = mdb.executeSqlFetch(f"SELECT * FROM `{positionTableName}`") + + + if result is None: + logging.info("No positions found.") + return + pd_result = pd.DataFrame(result, columns=list(tbs.TABLE_CN_STOCK_POSITION['columns'])) + # 获取持仓股票代码列表 + stocks = [(x[0].strftime('%Y-%m-%d'),) + x[1:] for x in pd_result[list(tbs.TABLE_CN_STOCK_FOREIGN_KEY['columns'])].itertuples(index=False, name=None)] + + # 获取历史数据 + stocks_data = stock_hist_data(date=date, stocks=stocks).get_data() + + if stocks_data is None: + logging.error("Failed to get historical data.") + return + + sell_list = [] + + strategy_name = strategy['name'] + strategy_func = strategy['func'] + # 计算成本 + cost_dict = {row['code']: row['cost_price'] for _, row in pd_result.iterrows()} + + results = run_check(strategy_func, strategy_name, stocks_data, date, cost_dict) + # 遍历结果 + if results is None: + return + + table_name = strategy['name'] + if mdb.checkTableIsExist(table_name): + # 删除当日旧数据 + del_sql = f"DELETE FROM `{table_name}` WHERE `date` = '{date}'" + mdb.executeSql(del_sql) + cols_type = None + else: + cols_type = tbs.get_field_types(tbs.TABLE_CN_STOCK_BACKTEST_DATA['columns']) + data = pd.DataFrame(results) + columns = tuple(tbs.TABLE_CN_STOCK_FOREIGN_KEY['columns']) + data.columns = columns + # 单例,时间段循环必须改时间 + date_str = date.strftime("%Y-%m-%d") + if date.strftime("%Y-%m-%d") != data.iloc[0]['date']: + data['date'] = date_str + # 插入新数据 + mdb.insert_db_from_df(data, table_name, cols_type, False, "`date`,`code`") + + logging.info(f"Added {len(sell_list)} stocks to sell list.") + + except Exception as e: + logging.error(f"Error in check_position_and_sell: {e}") +def run_check(strategy_fun, strategy_name, stocks, date, code_price = None, workers=40): + + data = [] + try: + with concurrent.futures.ThreadPoolExecutor(max_workers=workers) as executor: + future_to_data = {executor.submit(strategy_fun, k, stocks[k], date=date, cost=code_price.get(k[1])): k for k in stocks} + for future in concurrent.futures.as_completed(future_to_data): + stock = future_to_data[future] + try: + if future.result(): + data.append(stock) + except Exception as e: + logging.error(f"strategy_data_daily_job.run_check处理异常:{stock[1]}代码{e}策略{strategy_name}") + except Exception as e: + logging.error(f"strategy_data_daily_job.run_check处理异常:策略{strategy_name}", e) + if not data: + return None + else: + return data + + +def main(): + # 使用方法传递。 + with concurrent.futures.ThreadPoolExecutor() as executor: + for strategy in tbs.TABLE_CN_STOCK_POSITION_CHECK: + executor.submit(runt.run_with_args, prepare, strategy) + + + +if __name__ == '__main__': + main() diff --git a/instock/lib/run_template.py b/instock/lib/run_template.py index ba7b935d33..be5845c186 100644 --- a/instock/lib/run_template.py +++ b/instock/lib/run_template.py @@ -7,6 +7,8 @@ import concurrent.futures import sys import time +import traceback + import instock.lib.trade_time as trd __author__ = 'myh ' @@ -30,7 +32,7 @@ def run_with_args(run_fun, *args): time.sleep(2) run_date += datetime.timedelta(days=1) except Exception as e: - logging.error(f"run_template.run_with_args处理异常:{run_fun}{sys.argv}{e}") + logging.error(f"run_template.run_with_args处理异常:{run_fun}{sys.argv}\n{traceback.format_exc()}") elif len(sys.argv) == 2: # N个时间作业 python xxx.py 2023-03-01,2023-03-02 dates = sys.argv[1].split(',') @@ -43,7 +45,7 @@ def run_with_args(run_fun, *args): executor.submit(run_fun, run_date, *args) time.sleep(2) except Exception as e: - logging.error(f"run_template.run_with_args处理异常:{run_fun}{sys.argv}{e}") + logging.error(f"run_template.run_with_args处理异常:{run_fun}{sys.argv}\n{traceback.format_exc()}") else: # 当前时间作业 python xxx.py try: @@ -55,4 +57,4 @@ def run_with_args(run_fun, *args): else: run_fun(run_date_nph, *args) except Exception as e: - logging.error(f"run_template.run_with_args处理异常:{run_fun}{sys.argv}{e}") + logging.error(f"run_template.run_with_args处理异常:{run_fun}{sys.argv}\n{traceback.format_exc()}") diff --git a/instock/trade/strategies/stratey1.py b/instock/trade/strategies/stratey1.py index 79a88f4462..b3a8efe043 100644 --- a/instock/trade/strategies/stratey1.py +++ b/instock/trade/strategies/stratey1.py @@ -6,28 +6,24 @@ from dateutil import tz from instock.trade.robot.infrastructure.default_handler import DefaultLogHandler from instock.trade.robot.infrastructure.strategy_template import StrategyTemplate - +import instock.lib.database as mdb +import pandas as pd +import instock.core.tablestructure as tbs __author__ = 'myh ' __date__ = '2023/4/10 ' - +# 更新持仓 class Strategy(StrategyTemplate): - name = 'stratey1' def init(self): - # 通过下面的方式来获取时间戳 - # now_dt = self.clock_engine.now_dt - # now = self.clock_engine.now - # now = time.time() - - # 注册时钟事件 - clock_type = self.name - moment = dt.time(14, 54, 30, tzinfo=tz.tzlocal()) - self.clock_engine.register_moment(clock_type, moment) + # 注册盘后事件 + # after_trading_moment = dt.time(15, 0, 0, tzinfo=tz.tzlocal()) + # self.clock_engine.register_moment(self.name, after_trading_moment) # 注册时钟间隔事件, 不在交易阶段也会触发, clock_type == minute_interval - minute_interval = 1.5 + minute_interval = 3 self.clock_engine.register_interval(minute_interval, trading=False) + return def strategy(self): buy_stock = [('000001', 1, 100)] @@ -44,13 +40,70 @@ def strategy(self): self.log.info(self.user.balance) self.log.info('\n') + def save_position_to_db(self): + positions = self.user.position + if not positions: + self.log.info("没有持仓信息") + return + + df = pd.DataFrame(positions) + data = df.rename(columns={ + '证券代码': 'code', + '证券名称': 'name', + '参考成本价': 'cost_price', + '股份可用': 'available_shares', + '参考市价': 'market_price', + '参考市值': 'market_value', + '买入冻结' : 'freeze', + }) + + table_name = tbs.TABLE_CN_STOCK_POSITION['name'] + # 删除老数据。 + if mdb.checkTableIsExist(table_name): + del_sql = f"DELETE FROM `{table_name}`" + mdb.executeSql(del_sql) + cols_type = None + else: + cols_type = tbs.get_field_types(tbs.TABLE_CN_STOCK_POSITION['columns']) + + df['date'] = dt.date.today() + mdb.insert_db_from_df(data, table_name, cols_type, False, "`date`,`code`") + self.log.info(f"持仓信息{data}已保存到数据库表 {table_name}") + + def save_account_to_db(self): + balance = self.user.balance + if not balance: + self.log.info("没有用户信息") + return + df = pd.DataFrame(balance) + data = df.rename(columns={ + '参考市值': 'market_cap', + '可用资金': 'available_funds', + '币种': 'cost_price', + '总资产': 'total_assets', + '股份参考盈亏': 'profit_loss', + '资金余额': 'balance', + '资金帐号': 'account_id', + }) + + table_name = tbs.TABLE_CN_STOCK_ACCOUNT['name'] + # 删除老数据。 + if mdb.checkTableIsExist(table_name): + del_sql = f"DELETE FROM `{table_name}`" + mdb.executeSql(del_sql) + cols_type = None + else: + cols_type = tbs.get_field_types(tbs.TABLE_CN_STOCK_ACCOUNT['columns']) + + df['date'] = dt.date.today() + mdb.insert_db_from_df(data, table_name, cols_type, False, "`date`,`account_id`") + self.log.info(f"账户信息{data}已保存到数据库表 {table_name}") + def clock(self, event): - """在交易时间会定时推送 clock 事件 - :param event: event.data.clock_event 为 [0.5, 1, 3, 5, 15, 30, 60] 单位为分钟, ['open', 'close'] 为开市、收市 - event.data.trading_state bool 是否处于交易时间 - """ - if event.data.clock_event == self.name: - self.strategy() + """在交易时间会定时推送 clock 事件""" + if event.data.clock_event in ('open','continue', 'close'): + self.save_account_to_db() + self.save_position_to_db() def log_handler(self): """自定义 log 记录方式""" @@ -60,8 +113,5 @@ def log_handler(self): return DefaultLogHandler(self.name, log_type='file', filepath=log_filepath) def shutdown(self): - """ - 关闭进程前的调用 - :return: - """ + """关闭进程前的调用""" self.log.info("假装在关闭前保存了策略数据") diff --git a/instock/trade/trade_service.py b/instock/trade/trade_service.py index 4ec56fbe19..d58b95b803 100644 --- a/instock/trade/trade_service.py +++ b/instock/trade/trade_service.py @@ -17,7 +17,7 @@ def main(): - broker = 'gf_client' + broker = 'universal_client' log_handler = DefaultLogHandler(name='交易服务', log_type='file', filepath=log_filepath) m = MainEngine(broker, need_data, log_handler) m.is_watch_strategy = True # 策略文件出现改动时,自动重载,不建议在生产环境下使用 From 1eb8656bfc8d6a8b9ff3b7233f45e28d6c2a6eb5 Mon Sep 17 00:00:00 2001 From: duanhaoran Date: Mon, 9 Dec 2024 21:16:11 +0800 Subject: [PATCH 5/8] =?UTF-8?q?func(service):=E5=A2=9E=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E7=AD=96=E7=95=A5=20=E5=9B=9E=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- instock/trade/strategies/stratey1.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/instock/trade/strategies/stratey1.py b/instock/trade/strategies/stratey1.py index b3a8efe043..4679ee3899 100644 --- a/instock/trade/strategies/stratey1.py +++ b/instock/trade/strategies/stratey1.py @@ -115,3 +115,7 @@ def log_handler(self): def shutdown(self): """关闭进程前的调用""" self.log.info("假装在关闭前保存了策略数据") + +if __name__ == '__main__': + # 测试 + Strategy() \ No newline at end of file From c43caffc55d2ac0e3e3b5c898de384c8538c3ad0 Mon Sep 17 00:00:00 2001 From: duanhaoran Date: Wed, 11 Dec 2024 21:21:11 +0800 Subject: [PATCH 6/8] =?UTF-8?q?func(service):=E5=A2=9E=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E7=AD=96=E7=95=A5=20=E5=9B=9E=E6=B5=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- instock/core/backtest/backtrader_manager.py | 2 + instock/core/backtest/base_strategy.py | 10 ++- instock/core/strategy/common_sell_check.py | 3 +- instock/core/tablestructure.py | 40 ++++++++- instock/job/strategy_data_daily_job.py | 43 +++++++++- instock/job/strategy_position_daily_job.py | 42 ++++++++-- instock/trade/strategies/buy_stratey.py | 90 +++++++++++++++++++++ instock/trade/strategies/stagging.py | 4 - 8 files changed, 217 insertions(+), 17 deletions(-) create mode 100644 instock/trade/strategies/buy_stratey.py diff --git a/instock/core/backtest/backtrader_manager.py b/instock/core/backtest/backtrader_manager.py index e069e602a0..b84e54184b 100644 --- a/instock/core/backtest/backtrader_manager.py +++ b/instock/core/backtest/backtrader_manager.py @@ -126,9 +126,11 @@ def get_data(self, date, rand_num=100): random_stocks = random.sample(stocks, rand_num) data_list = [] df = stock_hist_data(date=date, stocks=random_stocks).get_data() + for idx, row in df.items(): if len(row) <= 100: continue + # row = row.iloc[-30:] row['datetime'] = pd.to_datetime(row['date']) row.set_index('datetime', inplace=True) data = bt.feeds.PandasData( diff --git a/instock/core/backtest/base_strategy.py b/instock/core/backtest/base_strategy.py index 0bafe503be..08b84e7534 100644 --- a/instock/core/backtest/base_strategy.py +++ b/instock/core/backtest/base_strategy.py @@ -60,13 +60,15 @@ def check_sell_strategy(self, data): self.close(data) return True if data.low[0] < data.low[-1] < data.low[-2] and data.high[0] < data.high[-1] < data.high[-2]: - self.log(f'触发最高和最低点低于昨日卖出: {data._name}, 价格: {data.close[0]}') - self.close(data) + if position: + self.log(f'触发最高和最低点低于昨日卖出: {data._name}, 价格: {data.close[0]}') + self.close(data) return True if data.volume[0] == max(data.volume.get(size=7) or [0]) and data.close[0] < data.low[-1]: - self.log(f'触发成交量和价格条件卖出: {data._name}, 价格: {data.close[0]}') - self.close(data) + if position: + self.log(f'触发成交量和价格条件卖出: {data._name}, 价格: {data.close[0]}') + self.close(data) return True return False diff --git a/instock/core/strategy/common_sell_check.py b/instock/core/strategy/common_sell_check.py index fa9f73b20c..ce90503ae4 100644 --- a/instock/core/strategy/common_sell_check.py +++ b/instock/core/strategy/common_sell_check.py @@ -25,9 +25,10 @@ def check(code_name, data, date=None, cost=None, threshold=60): if end_date is not None: mask = (data['date'] <= end_date) data = data.loc[mask].copy() + if cost is None: + return False if len(data.index) < threshold: return True - # 检查是否应该卖出 if check_sell_signal(data, cost=cost, stop_loss=params['stop_loss'], take_profit=params['take_profit']): return True # 如果应该卖出,则不考虑买入 diff --git a/instock/core/tablestructure.py b/instock/core/tablestructure.py index 332610a514..5720b13cdc 100644 --- a/instock/core/tablestructure.py +++ b/instock/core/tablestructure.py @@ -420,11 +420,49 @@ ] #持仓卖出策略 -TABLE_CN_STOCK_POSITION_CHECK = [ +TABLE_CN_STOCK_POSITION_SELL = [ {'name': 'common_sell_strategy', 'cn': '通用卖出策略', 'size': 30, 'func': common_sell_check.check, 'columns': TABLE_CN_STOCK_FOREIGN_KEY['columns'].copy()} ] +#持仓买入策略 +TABLE_CN_STOCK_BUY_DATA = {'name': 'cn_stock_buy_data', 'cn': '持仓买入出策略', + 'columns': {'date': {'type': DATE, 'cn': '日期', 'size': 0}, + 'code': {'type': NVARCHAR(6), 'cn': '代码', 'size': 60}, + 'name': {'type': NVARCHAR(20), 'cn': '名称', 'size': 70}, + 'open': {'type': FLOAT, 'cn': '开盘'}, + 'close': {'type': FLOAT, 'cn': '收盘'}, + 'high': {'type': FLOAT, 'cn': '最高'}, + 'low': {'type': FLOAT, 'cn': '最低'}, + 'volume': {'type': FLOAT, 'cn': '成交量'}, + 'amount': {'type': FLOAT, 'cn': '成交额'}, + 'amplitude': {'type': FLOAT, 'cn': '振幅'}, + 'quote_change': {'type': FLOAT, 'cn': '涨跌幅'}, + 'ups_downs': {'type': FLOAT, 'cn': '涨跌额'}, + 'turnover': {'type': FLOAT, 'cn': '换手率'}, + 'p_change': {'type': FLOAT, 'cn': '换手率'}, + } + } + +#持仓卖出策略 +TABLE_CN_STOCK_SELL_DATA = {'name': 'cn_stock_sell_data', 'cn': '持仓卖出出策略', + 'columns': {'date': {'type': DATE, 'cn': '日期', 'size': 0}, + 'code': {'type': NVARCHAR(6), 'cn': '代码', 'size': 60}, + 'name': {'type': NVARCHAR(20), 'cn': '名称', 'size': 70}, + 'open': {'type': FLOAT, 'cn': '开盘'}, + 'close': {'type': FLOAT, 'cn': '收盘'}, + 'high': {'type': FLOAT, 'cn': '最高'}, + 'low': {'type': FLOAT, 'cn': '最低'}, + 'volume': {'type': FLOAT, 'cn': '成交量'}, + 'amount': {'type': FLOAT, 'cn': '成交额'}, + 'amplitude': {'type': FLOAT, 'cn': '振幅'}, + 'quote_change': {'type': FLOAT, 'cn': '涨跌幅'}, + 'ups_downs': {'type': FLOAT, 'cn': '涨跌额'}, + 'turnover': {'type': FLOAT, 'cn': '换手率'}, + 'p_change': {'type': FLOAT, 'cn': '换手率'}, + } + } + STOCK_KLINE_PATTERN_DATA = {'name': 'cn_stock_pattern_recognitions', 'cn': 'K线形态', 'columns': { 'tow_crows': {'type': SmallInteger, 'cn': '两只乌鸦', 'size': 70, 'func': tl.CDL2CROWS}, diff --git a/instock/job/strategy_data_daily_job.py b/instock/job/strategy_data_daily_job.py index f2af5c8f07..bcf0b5e66e 100644 --- a/instock/job/strategy_data_daily_job.py +++ b/instock/job/strategy_data_daily_job.py @@ -1,8 +1,10 @@ #!/usr/local/bin/python3 # -*- coding: utf-8 -*- - +import datetime import logging import concurrent.futures +import traceback + import pandas as pd import os.path import sys @@ -49,9 +51,46 @@ def prepare(date, strategy): if date.strftime("%Y-%m-%d") != data.iloc[0]['date']: data['date'] = date_str mdb.insert_db_from_df(data, table_name, cols_type, False, "`date`,`code`") + # 增加买入数据 + + + # 取出stocks_data中key为results中值的数据 + buy_data = {k:stocks_data[k] for k in results} + df_list = [] # 用于存储 DataFrame 行 + # 遍历 new_data,检查日期匹配 + # 遍历 buy_data,检查日期匹配 + for key, value in buy_data.items(): + date_key, code, name = key # 解包键 + # 遍历值中的日期 + for i, date_value in enumerate(value['date']): + if date_value == date_key: # 如果日期匹配 + # 使用字典解包简化行数据的创建 + row = { + **{k: value[k][i] for k in + ['open', 'close', 'low', 'volume', 'amount', 'amplitude', 'high', 'quote_change', + 'ups_downs', 'turnover', 'p_change']}, + 'date': date_value, + 'code': code, + 'name': name + } + df_list.append(row) # 添加到列表中 + df = pd.DataFrame(df_list) + + # 确保数据不为空 + + # 删除老数据。 + buy_data_name_ = tbs.TABLE_CN_STOCK_BUY_DATA['name'] + if mdb.checkTableIsExist(buy_data_name_): + del_sql = f"DELETE FROM `{buy_data_name_}` where `date` = '{date_str}'" + mdb.executeSql(del_sql) + cols_type = None + else: + cols_type = tbs.get_field_types(tbs.TABLE_CN_STOCK_BUY_DATA['columns']) + # 插入新数据 + mdb.insert_db_from_df(df, buy_data_name_, cols_type, False, "`date`,`code`") except Exception as e: - logging.error(f"strategy_data_daily_job.prepare处理异常:{strategy}策略{e}") + logging.error(f"strategy_data_daily_job.prepare处理异常:{strategy}策略{traceback.format_exc()}") def run_check(strategy_fun, table_name, stocks, date, workers=40): diff --git a/instock/job/strategy_position_daily_job.py b/instock/job/strategy_position_daily_job.py index a5df2d1056..31d3b486fa 100644 --- a/instock/job/strategy_position_daily_job.py +++ b/instock/job/strategy_position_daily_job.py @@ -45,11 +45,8 @@ def prepare(date, strategy): return pd_result = pd.DataFrame(result, columns=list(tbs.TABLE_CN_STOCK_POSITION['columns'])) # 获取持仓股票代码列表 - stocks = [(x[0].strftime('%Y-%m-%d'),) + x[1:] for x in pd_result[list(tbs.TABLE_CN_STOCK_FOREIGN_KEY['columns'])].itertuples(index=False, name=None)] - # 获取历史数据 - stocks_data = stock_hist_data(date=date, stocks=stocks).get_data() - + stocks_data = stock_hist_data(date=date).get_data() if stocks_data is None: logging.error("Failed to get historical data.") return @@ -85,9 +82,44 @@ def prepare(date, strategy): mdb.insert_db_from_df(data, table_name, cols_type, False, "`date`,`code`") logging.info(f"Added {len(sell_list)} stocks to sell list.") + # 取出stocks_data中key为results中值的数据 + buy_data = {k: stocks_data[k] for k in results} + df_list = [] # 用于存储 DataFrame 行 + # 遍历 new_data,检查日期匹配 + # 遍历 buy_data,检查日期匹配 + for key, value in buy_data.items(): + date_key, code, name = key # 解包键 + # 遍历值中的日期 + for i, date_value in enumerate(value['date']): + if date_value == date_key: # 如果日期匹配 + # 使用字典解包简化行数据的创建 + row = { + **{k: value[k][i] for k in + ['open', 'close', 'low', 'volume', 'amount', 'amplitude', 'high', 'quote_change', + 'ups_downs', 'turnover', 'p_change']}, + 'date': date_value, + 'code': code, + 'name': name + } + df_list.append(row) # 添加到列表中 + df = pd.DataFrame(df_list) + + # 确保数据不为空 + + # 删除老数据。 + sell_data_name_ = tbs.TABLE_CN_STOCK_SELL_DATA['name'] + if mdb.checkTableIsExist(sell_data_name_): + del_sql = f"DELETE FROM `{sell_data_name_}` where `date` = '{date_str}'" + mdb.executeSql(del_sql) + cols_type = None + else: + cols_type = tbs.get_field_types(tbs.TABLE_CN_STOCK_SELL_DATA['columns']) + # 插入新数据 + mdb.insert_db_from_df(df, sell_data_name_, cols_type, False, "`date`,`code`") except Exception as e: logging.error(f"Error in check_position_and_sell: {e}") + def run_check(strategy_fun, strategy_name, stocks, date, code_price = None, workers=40): data = [] @@ -112,7 +144,7 @@ def run_check(strategy_fun, strategy_name, stocks, date, code_price = None, work def main(): # 使用方法传递。 with concurrent.futures.ThreadPoolExecutor() as executor: - for strategy in tbs.TABLE_CN_STOCK_POSITION_CHECK: + for strategy in tbs.TABLE_CN_STOCK_POSITION_SELL: executor.submit(runt.run_with_args, prepare, strategy) diff --git a/instock/trade/strategies/buy_stratey.py b/instock/trade/strategies/buy_stratey.py new file mode 100644 index 0000000000..8111cb10bd --- /dev/null +++ b/instock/trade/strategies/buy_stratey.py @@ -0,0 +1,90 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +import os.path +import datetime as dt +import random + +from dateutil import tz +from instock.trade.robot.infrastructure.default_handler import DefaultLogHandler +from instock.trade.robot.infrastructure.strategy_template import StrategyTemplate +import instock.lib.database as mdb +import pandas as pd +import instock.core.tablestructure as tbs +__author__ = 'myh ' +__date__ = '2023/4/10 ' + +# 更新持仓 +class Strategy(StrategyTemplate): + + def init(self): + # 注册盘后事件 + # after_trading_moment = dt.time(15, 0, 0, tzinfo=tz.tzlocal()) + # self.clock_engine.register_moment(self.name, after_trading_moment) + return + + def strategy(self): + # [{'参考市值': 21642.0, + # '可用资金': 28494.21, + # '币种': '0', + # '总资产': 50136.21, + # '股份参考盈亏': -90.21, + # '资金余额': 28494.21, + # '资金帐号': 'xxx'}] + self.user.refresh() + balance = self.user.balance + if not balance or len(balance) < 1: + return + + # 测试 + # 查询昨日生产的可以买入股票 + yeasterDay = dt.datetime.now() - dt.timedelta(days=1) + datetime = yeasterDay.strftime('%Y-%m-%d') + prepare_buy = [] + fetch = mdb.executeSqlFetch( + f"SELECT * FROM `{tbs.TABLE_CN_STOCK_BUY_DATA['name']}` WHERE `date`='{datetime}'") + pd_result = pd.DataFrame(fetch, columns=list(tbs.TABLE_CN_STOCK_BUY_DATA['columns'])) + balance = self.user.balance[0] + cash = balance['可用资金'] + if cash < 10000: + return + if not pd_result.empty: + # 随机选一个 + random_row = pd_result.sample(n=1) + price = random_row['close'].values[0] + amount = int((cash / 2 / price) // 100) * 100 + prepare_buy = [(random_row['code'].values[0], float(price), amount)] + + if not prepare_buy or len(prepare_buy) < 1: + return + # --------写交易策略--------- + + # --------写交易策略--------- + for buy in prepare_buy: + self.user.buy(buy[0], price=buy[1], amount=buy[3]) + + self.log.info('检查持仓') + self.log.info(self.user.balance) + self.log.info('\n') + + + def clock(self, event): + """在交易时间会定时推送 clock 事件""" + if event.data.clock_event in ('open','continue', 'close'): + self.strategy() + + def log_handler(self): + """自定义 log 记录方式""" + cpath_current = os.path.dirname(os.path.dirname(__file__)) + cpath = os.path.abspath(os.path.join(cpath_current, os.pardir)) + log_filepath = os.path.join(cpath, 'log', f'{self.name}.log') + return DefaultLogHandler(self.name, log_type='file', filepath=log_filepath) + + def shutdown(self): + """关闭进程前的调用""" + self.log.info("假装在关闭前保存了策略数据") + + + + + diff --git a/instock/trade/strategies/stagging.py b/instock/trade/strategies/stagging.py index 11a316be84..66d17af548 100644 --- a/instock/trade/strategies/stagging.py +++ b/instock/trade/strategies/stagging.py @@ -25,10 +25,6 @@ def init(self): moment = dt.time(10, 0, 0, tzinfo=tz.tzlocal()) self.clock_engine.register_moment(clock_type, moment) - # 注册时钟间隔事件, 不在交易阶段也会触发, clock_type == minute_interval - minute_interval = 1.5 - self.clock_engine.register_interval(minute_interval, trading=False) - def strategy(self): self.log.info('打新股') self.user.auto_ipo() From 39a03965975e44f4239abfda55997b978a82b1ce Mon Sep 17 00:00:00 2001 From: "haoran.duan" <997438111@qq.com> Date: Wed, 11 Dec 2024 22:52:09 +0800 Subject: [PATCH 7/8] a --- TA_Lib-0.4.32-cp310-cp310-win_amd64.whl | Bin 0 -> 539477 bytes instock/config/trade_client.json | 4 ++-- instock/trade/robot/engine/main_engine.py | 2 +- instock/trade/trade_service.py | 3 ++- instock/trade/usage.md | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 TA_Lib-0.4.32-cp310-cp310-win_amd64.whl diff --git a/TA_Lib-0.4.32-cp310-cp310-win_amd64.whl b/TA_Lib-0.4.32-cp310-cp310-win_amd64.whl new file mode 100644 index 0000000000000000000000000000000000000000..ec0e7061b4865d707496d67dab15accf76a4abde GIT binary patch literal 539477 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 CuY~{cAhm|c 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%0D= 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

Rif#?5a-ukf0^|d^o-8T zS*zg2FX6#&6X{UVKC;+f%yHu)N&ouoza4{jcQWj)^NKG}?@#+0Z@CS!$JRU!dT8m@ zeh_wdxeomiGfy$nlzty_GiSJ!LUtoT!5szbQpWr>(tADVN? zKn-#g`uu;HWe@W`{}=@GfTR!N>U0cvu72DW?cA++8(W>);s9Z=!k_lg)ZDM#t_t`) zGVg5Z8ULf>F%%JSWw2*#k01W4#6K@*fUOb%PhHGyOs|TRz>&2hdIo{Tnjg0nE<%^a zG4@@^TBMPZloEP`h(9|jJ|�?7Mp>ziUOTMuncWeEssUb`Z)) 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%0AsXc|RXV4>rh5Ie`Ma=Ygj@GBuocKXj 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

al(2KS2z71Z{GsnRCzX@v?&d}a8hls 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÷#_`}a! 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 W2mO!C4TkvfCH}~}6rcZ*%>Nhd5%4Df literal 0 HcmV?d00001 diff --git a/instock/config/trade_client.json b/instock/config/trade_client.json index ad788c93b3..37d0336fe7 100644 --- a/instock/config/trade_client.json +++ b/instock/config/trade_client.json @@ -1,5 +1,5 @@ { - "user": "888888888888", + "user": "029000797211", "password": "888888", - "exe_path": "C:/gfzqrzrq/xiadan.exe" + "exe_path": "F:\\东吴证券金融终端独立下单/xiadan.exe" } \ No newline at end of file diff --git a/instock/trade/robot/engine/main_engine.py b/instock/trade/robot/engine/main_engine.py index 4f7da40eee..6d38598fcd 100644 --- a/instock/trade/robot/engine/main_engine.py +++ b/instock/trade/robot/engine/main_engine.py @@ -39,7 +39,7 @@ def __init__(self, broker=None, need_data=None, log_handler=DefaultLogHandler(), else: self.user = None self.log.info('选择了无交易模式') - + self.log.info('当前账户信息%s' % self.user.balance) self.event_engine = EventEngine() self.clock_engine = ClockEngine(self.event_engine, tzinfo) diff --git a/instock/trade/trade_service.py b/instock/trade/trade_service.py index 4ec56fbe19..9665a1323d 100644 --- a/instock/trade/trade_service.py +++ b/instock/trade/trade_service.py @@ -17,7 +17,8 @@ def main(): - broker = 'gf_client' + broker = 'universal_client' + log_handler = DefaultLogHandler(name='交易服务', log_type='file', filepath=log_filepath) m = MainEngine(broker, need_data, log_handler) m.is_watch_strategy = True # 策略文件出现改动时,自动重载,不建议在生产环境下使用 diff --git a/instock/trade/usage.md b/instock/trade/usage.md index 559b70b1e8..8c36a2aba4 100644 --- a/instock/trade/usage.md +++ b/instock/trade/usage.md @@ -58,7 +58,7 @@ user = easytrader.use('xq') 请手动打开并登录客户端后,运用connect函数连接客户端。 ```python -user.connect(r'客户端xiadan.exe路径') # 类似 r'C:\htzqzyb2\xiadan.exe' +ect(r'客户端xiadan.exe路径') # 类似 r'C:\htzqzyb2\xiadan.exe' ``` ### (二)通用同花顺客户端 From 264f18e52313879d8674cb180c5b6a86c83d816d Mon Sep 17 00:00:00 2001 From: duanhaoran Date: Fri, 13 Dec 2024 16:32:13 +0800 Subject: [PATCH 8/8] =?UTF-8?q?func(service):=E5=A2=9E=E5=8A=A0=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E5=88=A4=E7=A9=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- instock/core/backtest/backtrader_manager.py | 2 +- instock/core/tablestructure.py | 27 ++++-- .../{buy_stratey.py => buy_strategy.py} | 5 +- instock/trade/strategies/check_strategy.py | 92 +++++++++++++++++++ instock/trade/strategies/stratey1.py | 28 ++++++ tests/buy_test.py | 33 +++++++ tests/table_in_test.py | 54 +++++++++++ 7 files changed, 230 insertions(+), 11 deletions(-) rename instock/trade/strategies/{buy_stratey.py => buy_strategy.py} (94%) create mode 100644 instock/trade/strategies/check_strategy.py create mode 100644 tests/buy_test.py create mode 100644 tests/table_in_test.py diff --git a/instock/core/backtest/backtrader_manager.py b/instock/core/backtest/backtrader_manager.py index b84e54184b..ee495626d2 100644 --- a/instock/core/backtest/backtrader_manager.py +++ b/instock/core/backtest/backtrader_manager.py @@ -144,5 +144,5 @@ def get_data(self, date, rand_num=100): if __name__ == '__main__': test = back_test() - test.bt_strategy_multiple(strategy=VolumeBreakStrategy, iterations=200) + test.bt_strategy_multiple(strategy=VolumeBreakStrategy, iterations=500) # test.bt_strategy(strategy=VolumeBreakStrategy, rand_num=10) diff --git a/instock/core/tablestructure.py b/instock/core/tablestructure.py index 5720b13cdc..d55dbcfd6d 100644 --- a/instock/core/tablestructure.py +++ b/instock/core/tablestructure.py @@ -1039,13 +1039,26 @@ TABLE_CN_STOCK_POSITION = {'name': 'cn_stock_position', 'cn': '股票持仓', 'columns': { 'date': {'type': DATE, 'cn': '日期'}, - 'code': {'type': NVARCHAR(20), 'cn': '证券代码'}, - 'name': {'type': NVARCHAR(50), 'cn': '证券名称'}, - 'cost_price': {'type': FLOAT, 'cn': '参考成本价'}, - 'available_shares': {'type': BIGINT, 'cn': '股份可用'}, - 'market_price': {'type': FLOAT, 'cn': '参考市价'}, - 'market_value': {'type': FLOAT, 'cn': '参考市值'}, - 'freeze': {'type': BIGINT, 'cn': '股份冻结'}, + 'code': {'type': NVARCHAR(20), 'cn': '代码'}, + 'name': {'type': NVARCHAR(50), 'cn': '名称'}, + 'market': {'type': NVARCHAR(20), 'cn': '市场'}, + 'frozen_quantity': {'type': BIGINT, 'cn': '冻结数量'}, + 'unit_quantity': {'type': BIGINT, 'cn': '单位数量'}, + 'available_balance': {'type': FLOAT, 'cn': '可用余额'}, + 'actual_quantity': {'type': BIGINT, 'cn': '实际数量'}, + 'market_price': {'type': FLOAT, 'cn': '市价'}, + 'market_value': {'type': FLOAT, 'cn': '市值'}, + 'market_code': {'type': NVARCHAR(20), 'cn': '市场代码'}, + 'opening_date': {'type': DATE, 'cn': '开仓日期'}, + 'cost_price': {'type': FLOAT, 'cn': '成本价'}, + 'cost_amount': {'type': FLOAT, 'cn': '成本金额'}, + 'break_even_price': {'type': FLOAT, 'cn': '保本价'}, + 'circulation_type': {'type': NVARCHAR(20), 'cn': '流通类型'}, + 'profit_loss': {'type': FLOAT, 'cn': '盈亏'}, + 'profit_loss_ratio': {'type': FLOAT, 'cn': '盈亏比例'}, + 'account': {'type': NVARCHAR(20), 'cn': '账户'}, + 'stock_balance': {'type': BIGINT, 'cn': '股票余额'}, + 'stock_category': {'type': NVARCHAR(20), 'cn': '股票类别'}, }} TABLE_CN_STOCK_ACCOUNT = {'name': 'cn_stock_account', 'cn': '股票账户', diff --git a/instock/trade/strategies/buy_stratey.py b/instock/trade/strategies/buy_strategy.py similarity index 94% rename from instock/trade/strategies/buy_stratey.py rename to instock/trade/strategies/buy_strategy.py index 6eefcde143..94f64483e6 100644 --- a/instock/trade/strategies/buy_stratey.py +++ b/instock/trade/strategies/buy_strategy.py @@ -54,13 +54,12 @@ def strategy(self): amount = int((cash / 2 / price) // 100) * 100 prepare_buy = [(random_row['code'].values[0], float(price), amount)] - if not prepare_buy or len(prepare_buy) < 1: + if not prepare_buy or len(prepare_buy) < 1: return - # --------写交易策略--------- # --------写交易策略--------- for buy in prepare_buy: - self.user.buy(buy[0], price=buy[1], amount=buy[3]) + self.user.buy(buy[0], price=buy[1], amount=buy[2]) self.log.info('检查持仓') self.log.info(self.user.balance) diff --git a/instock/trade/strategies/check_strategy.py b/instock/trade/strategies/check_strategy.py new file mode 100644 index 0000000000..41d64b7da3 --- /dev/null +++ b/instock/trade/strategies/check_strategy.py @@ -0,0 +1,92 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- + +import os.path +import datetime as dt +import random +from typing import List, Tuple + +from dateutil import tz +from instock.trade.robot.infrastructure.default_handler import DefaultLogHandler +from instock.trade.robot.infrastructure.strategy_template import StrategyTemplate +import instock.lib.database as mdb +import pandas as pd +import instock.core.tablestructure as tbs + +class Strategy(StrategyTemplate): + + def init(self): + self.buy_orders = [] + self.check_interval = dt.timedelta(minutes=5) + self.last_check_time = dt.datetime.now() + + def buy_strategy(self): + self.user.refresh() + balance = pd.DataFrame([self.user.balance]) + if balance.empty: + return + + cash = balance['可用金额'].values[0] + if cash < 10000: + return + + prepare_buy = self.get_stocks_to_buy() + if not prepare_buy: + return + + for code, price, amount in prepare_buy: + order = self.user.buy(code, price=price, amount=amount) + self.buy_orders.append(order) + + self.log.info('检查持仓') + self.log.info(self.user.balance) + self.log.info('\n') + + def get_stocks_to_buy(self) -> List[Tuple[str, float, int]]: + yesterday = dt.datetime.now() - dt.timedelta(days=1) + date_str = yesterday.strftime('%Y-%m-%d') + + fetch = mdb.executeSqlFetch( + f"SELECT * FROM `{tbs.TABLE_CN_STOCK_BUY_DATA['name']}` WHERE `date`='{date_str}'") + pd_result = pd.DataFrame(fetch, columns=list(tbs.TABLE_CN_STOCK_BUY_DATA['columns'])) + + if pd_result.empty: + return [] + + random_row = pd_result.sample(n=1) + price = random_row['close'].values[0] + cash = self.user.balance['可用金额'] + amount = int((cash / 2 / price) // 100) * 100 + return [(random_row['code'].values[0], float(price), amount)] + + def check_buy_orders(self): + current_time = dt.datetime.now() + if current_time - self.last_check_time >= self.check_interval: + self.last_check_time = current_time + completed_orders = [] + for order in self.buy_orders: + if order.is_completed(): + completed_orders.append(order) + self.log.info(f"买入订单完成: {order}") + + for completed_order in completed_orders: + self.buy_orders.remove(completed_order) + + if completed_orders: + self.user.refresh() + self.log.info("更新后的持仓信息:") + self.log.info(self.user.position) + + def clock(self, event): + if event.data.clock_event in ('open', 'continue', 'close'): + self.buy_strategy() + self.check_buy_orders() + + def log_handler(self): + cpath_current = os.path.dirname(os.path.dirname(__file__)) + cpath = os.path.abspath(os.path.join(cpath_current, os.pardir)) + log_filepath = os.path.join(cpath, 'log', f'{self.name}.log') + return DefaultLogHandler(self.name, log_type='file', filepath=log_filepath) + + def shutdown(self): + self.log.info("关闭前保存策略数据") diff --git a/instock/trade/strategies/stratey1.py b/instock/trade/strategies/stratey1.py index 4f05cafbe2..9f53681bb7 100644 --- a/instock/trade/strategies/stratey1.py +++ b/instock/trade/strategies/stratey1.py @@ -30,6 +30,34 @@ def save_position_to_db(self): if not positions: self.log.info("没有持仓信息") return + # Convert positions data to English and map columns + positions_en = [ + { + 'market': 'Shanghai A-share' if p['交易市场'] == '上海A股' else '深圳 A股', + 'frozen_quantity': p['冻结数量'], + 'unit_quantity': p['单位数量'], + 'available_balance': p['可用余额'], + 'actual_quantity': p['实际数量'], + 'market_price': p['市价'], + 'market_value': p['市值'], + 'market_code': p['市场代码'], + 'opening_date': p['开仓日期'], + 'cost_price': p['成本价'], + 'cost_amount': p['成本金额'], + 'break_even_price': p['摊薄保本价'], + 'circulation_type': 'Circulating' if p['流通类型'] == '流通' else p['流通类型'], + 'profit_loss': p['盈亏'], + 'profit_loss_ratio': p['盈亏比例(%)'], + 'account': p['股东帐户'].strip('="'), + 'stock_balance': p['股票余额'], + 'stock_category': p['股票类别'], + 'code': p['证券代码'].strip('="'), + 'name': p['证券名称'] + } for p in positions + ] + + # Convert to DataFrame + df = pd.DataFrame(positions_en) df = pd.DataFrame(positions) data = df.rename(columns={ diff --git a/tests/buy_test.py b/tests/buy_test.py new file mode 100644 index 0000000000..b9b454ab9b --- /dev/null +++ b/tests/buy_test.py @@ -0,0 +1,33 @@ +import os.path +import datetime as dt +import random +from typing import List, Tuple + +from dateutil import tz +from instock.trade.robot.infrastructure.default_handler import DefaultLogHandler +from instock.trade.robot.infrastructure.strategy_template import StrategyTemplate +import instock.lib.database as mdb +import pandas as pd +import instock.core.tablestructure as tbs + + +def test_buy(): + yesterday = dt.datetime.now() - dt.timedelta(days=1) + date_str = yesterday.strftime('%Y-%m-%d') + + fetch = mdb.executeSqlFetch( + f"SELECT * FROM `{tbs.TABLE_CN_STOCK_BUY_DATA['name']}` WHERE `date`='{date_str}'") + pd_result = pd.DataFrame(fetch, columns=list(tbs.TABLE_CN_STOCK_BUY_DATA['columns'])) + + if pd_result.empty: + return [] + cash = 100000 + random_row = pd_result.sample(n=1) + price = random_row['close'].values[0] + amount = int((cash / 2 / price) // 100) * 100 + return [(random_row['code'].values[0], float(price), amount)] + +if __name__ == '__main__': + buys = test_buy() + for buy in buys: + print(f'buy: {buy[0]} price:{buy[1]} amount: {buy[2]}') diff --git a/tests/table_in_test.py b/tests/table_in_test.py new file mode 100644 index 0000000000..8215c95779 --- /dev/null +++ b/tests/table_in_test.py @@ -0,0 +1,54 @@ +import os.path +import datetime as dt +from dateutil import tz +from instock.trade.robot.infrastructure.default_handler import DefaultLogHandler +from instock.trade.robot.infrastructure.strategy_template import StrategyTemplate +import instock.lib.database as mdb +import pandas as pd +import instock.core.tablestructure as tbs +__author__ = 'myh ' +__date__ = '2023/4/10 ' + +# 更新持仓 + +if __name__ == '__main__': + positions = [{'Unnamed: 24': '', '交易市场': '上海A股', '冻结数量': 0, '单位数量': 1, '历史成交': '', '可用余额': 1000, '实际数量': 1000, '市价': 18.9, '市值': 18900.0, '市场代码': 2, '开仓日期': 20241209, '当日买入成交数量': 0, '当日卖出成交数量': 0, '成本价': 18.775, '成本金额': 18775.19, '摊薄保本价': 18.79, '流通类型': '流通', '盈亏': 110.17, '盈亏比例(%)': 0.587, '股东帐户': '="A811175096"', '股票余额': 1000, '股票类别': 'A0', '证券代码': '="603078"', '证券名称': '江化微', '资讯': ''}, {'Unnamed: 24': '', '交易市场': '深圳A股', '冻结数量': 0, '单位数量': 1, '历史成交': '', '可用余额': 500, '实际数量': 500, '市价': 41.07, '市值': 20535.0, '市场代码': 1, '开仓日期': 20241210, '当日买入成交数量': 0, '当日卖出成交数量': 0, '成本价': 41.01, '成本金额': 20505.0, '摊薄保本价': 41.04, '流通类型': '流通', '盈亏': 14.73, '盈亏比例(%)': 0.072, '股东帐户': '="0241355428"', '股票余额': 500, '股票类别': 'A0', '证券代码': '="001229"', '证券名称': '魅视科技', '资讯': ''}, {'Unnamed: 24': '', '交易市场': '深圳A股', '冻结数量': 0, '单位数量': 1, '历史成交': '', '可用余额': 400, '实际数量': 400, '市价': 60.28, '市值': 24112.0, '市场代码': 1, '开仓日期': 20241120, '当日买入成交数量': 0, '当日卖出成交数量': 0, '成本价': 58.665, '成本金额': 23466.0, '摊薄保本价': 58.708, '流通类型': '流通', '盈亏': 628.26, '盈亏比例(%)': 2.677, '股东帐户': '="0241355428"', '股票余额': 400, '股票类别': 'CR', '证券代码': '="300917"', '证券名称': '特发服务', '资讯': ''}] + + positions_en = [ + { + 'market': '上海A股' if p['交易市场'] == '上海A股' else '深圳A股', + 'frozen_quantity': p['冻结数量'], + 'unit_quantity': p['单位数量'], + 'available_balance': p['可用余额'], + 'actual_quantity': p['实际数量'], + 'market_price': p['市价'], + 'market_value': p['市值'], + 'market_code': p['市场代码'], + 'opening_date': p['开仓日期'], + 'cost_price': p['成本价'], + 'cost_amount': p['成本金额'], + 'break_even_price': p['摊薄保本价'], + 'circulation_type': 'Circulating' if p['流通类型'] == '流通' else p['流通类型'], + 'profit_loss': p['盈亏'], + 'profit_loss_ratio': p['盈亏比例(%)'], + 'account': p['股东帐户'].strip('="'), + 'stock_balance': p['股票余额'], + 'stock_category': p['股票类别'], + 'code': p['证券代码'].strip('="'), + 'name': p['证券名称'] + } for p in positions + ] + + # Convert to DataFrame + df = pd.DataFrame(positions_en) + table_name = tbs.TABLE_CN_STOCK_POSITION['name'] + # 删除老数据。 + if mdb.checkTableIsExist(table_name): + del_sql = f"DELETE FROM `{table_name}`" + mdb.executeSql(del_sql) + cols_type = None + else: + cols_type = tbs.get_field_types(tbs.TABLE_CN_STOCK_POSITION['columns']) + + df['date'] = dt.date.today() + mdb.insert_db_from_df(df, table_name, cols_type, False, "`date`,`code`")