[Quantitative backtest must-see! 】Backtrader nanny-level teaching + free market source framework introduction

foreword

Want to start quantitative learning but don't know how to get started? There are too many learning materials on the market and don’t know what to read?
The blogger will explain the backtesting framework from scratch, and complete the construction of quantitative data sources step by step, allowing you to become a quantitative master within 10 days. The blogger will
also update the content of the video course on station B. You can follow "Quantitative NPC" to get the latest video course
book This article can be read together for better results:
Backtrader Quantitative Backtesting Nanny-Level Teaching [1. Get to know backtrader for the first time] – with free tick level market
sources
The csv file used by the source is in the appendix at the end of the article.

backtrader framework

It is mainly divided into 6 parts. The core of Backtrader is that the cerebro in the middle is the brain, and then put the strategy strategies and data datafeeds into the cerebro brain, and he will backtest according to our strategy. After the backtest, we can test our The results are analyzed and can be handed over to the analyzer. If you want to do some localization and save the results, you can use a writer. Then there must be some things in the entire strategy execution process that are not included in the results. For example, the net value of our strategy should be monitored throughout the range. Yes, for indicators like this, we will have an observer such as observer to monitor.
insert image description here

Four-step backtest

Step 1: Create the Brain
cerebro = bt.Cerebro()
Step 2: Add Dataset
cerebro.adddata(data, name="daily_kline")

It should be noted that backtrader defaults, datafeed has a total of 9 required parameters including

required parameters describe
datetime time
fromdate Backtest start time
today Backtest end time
open opening price
high highest price
low Closing price
close Closing price
volume turnover
openinterest Outstanding interest, if it is a stock transaction, it can be -1 here.

There are two ways to add a data source

  1. It is to import an existing data set, such as xxx.csv file, the csv file used in this article has been uploaded, click here to download
df = pd.read_csv("daily-kline.csv")
df["time"] = pd.to_datetime(df["time"])
data = bt.feeds.PandasData(
        dataname=df,
        fromdate=datetime(2021, 5, 10),
        todate=datetime(2022, 5, 10),
        datetime='time',
       	open='open',
        high='high',
       	low='low',
       	close='close',
        volume='volume',
        openinterest=-1
    )
  1. Use the data returned by the interface, such as the data interface provided by INSIGHT.
    Here you can notice that some parameters are not written in, such as open, close, etc., because the return value of INSIGHT already contains the corresponding fields and is already in dataframe format, so No need to declare.
    If you are interested in INSIGHT, you can visit: INSIGHT digital document
    If you want to see the comparison of various data sources, you can see: Quantitative free market source strongest comparative analysis
df = get_kline(htsc_code=["601688.SH"], time=[datetime(2021, 5, 10), datetime(2022, 5, 10)],
                   frequency="daily", fq="none")
#这里可以将INSIGHT接口的数据保存为csv
#csv = df.to_csv("daily-kline.csv") 
data = bt.feeds.PandasData(
        dataname=df,
        fromdate=datetime(2021, 5, 10),
        todate=datetime(2022, 5, 10),
        datetime='time',
        openinterest=-1
    )

Of course, to call the INSIGHT market source, you need to introduce the corresponding package and login operation

from com.insight import common
from com.insight.query import *
from com.insight.market_service import market_service

# user 用户名
# password 密码
def login():
    # 登陆前 初始化
    user = ""       #请填入自己的用户名
    password = ""   #请填入自己的密码
    common.login(market_service, user, password)
Step Three: Add Policies

Add strategies to the brain, where Mystrategy can be defined by itself

cerebro.addstrategy(Mystrategy)

Then let's see how to rewrite the strategy. First, we need to inherit bt.Strategy. By default, several functions need to be rewritten.
Here we focus on the next method, but before introducing the next method, we need to instruct backtrader's data execution logic
backtrader to adopt chained execution, as follows:
insert image description here
access the close line of the first data set

self.data.close

It can be found that the close line or other lines are a string linked according to the time dimension, so the next() method is actually equivalent to an iterator of the time dimension

Taking this picture as an example, the initial state is the line 2019-01-02, which is close=51.120778, low=50.394136, ..., volume=426147.
Then the next state is the row of 2019-01-03, the next one is 2019-01-04, and so on...

Then each next() method is equivalent to looking at the current or previous state from the perspective of the day .

For example, the initial state is 2019-01-02. I can use all the close, open, etc. data of 01-02, and then generate a strategy signal based on this data. After executing my operation, I can enter the next day. The next() method means to enter the next day, that is, on the day of 01-03, I can use the data of 01-02 and 01-03 to generate strategies Signal.

The advantage of this is very obvious, that is, it can effectively prevent future functions. That is to say, I am actually 01-03, but I can guide the data of 01-04, which is equivalent to turning on the perspective, which is not allowed in the backtest.
insert image description here

In this issue, we will only explain the architecture, and then we will go deep into the strategy to write the actual strategy, so the following code can actually complete the most basic strategy, that is, there is no strategy, and no processing is done.

class Mystrategy(bt.Strategy):
	#初始化方法,类初始化时执行
    def __init__(self):
      pass
	#在策略开始前执行一次
    def start(self):
        print("start")
	#在策略有信号产生前执行,比如信号需要3天的日线,那么在回测前三天时,实际没有信号产生,则执行此方法
    def prenext(self):
        print("prenext")
	#策略执行的核心,主要复写此方法
    def next(self):
        print("next")
Step 4: Print the backtest data
cerebro.plot()

The result is as follows:
insert image description here
because no strategy is actually carried out, the red line in the top interval is the capital change, because there is no operation, so it is also the default 10000, the second interval reflects whether each operation is profitable or losing, if there is a signal, in the third The black line of the interval is the change of the stock price. If it is manipulated, it will be marked with green arrows and red arrows. The bottom histogram is the trading volume of the stock.

Summarize

Backtrader is a very powerful platform, and I hope that everyone can have some basic understanding of this framework first. In the follow-up articles and courses, the strategy part will also be deepened. I hope everyone will like it and collect it.

appendix

Code for this article:

import backtrader as bt
import pandas as pd

from com.insight import common
from com.insight.query import *
from com.insight.market_service import market_service

from datetime import datetime

# user 用户名
# password 密码
def login():
    # 登陆前 初始化
    user = ""       #请填入自己的用户名
    password = ""   #请填入自己的密码
    common.login(market_service, user, password)

class Mystrategy(bt.Strategy):
    def __init__(self):
        pass

    def start(self):
        print("start")

    def prenext(self):
        print("prenext")

    def next(self):
        print("next")


if __name__ == '__main__':
    #方法一
    # login()
    # df = get_kline(htsc_code=["601688.SH"], time=[datetime(2021, 5, 10), datetime(2022, 5, 10)],
    #                    frequency="daily", fq="none")
    # csv = df.to_csv("daily-kline.csv")
    #方法二
    df = pd.read_csv("daily-kline.csv")
    df["time"] = pd.to_datetime(df["time"])

    data = bt.feeds.PandasData(
        dataname=df,
        fromdate=datetime(2021, 5, 10),
        todate=datetime(2022, 5, 10),
        datetime='time',
        # open='open',
        # high='high',
        # low='low',
        # close='close',
        # volume='volume',
        openinterest=-1
    )
    cerebro = bt.Cerebro()
    cerebro.adddata(data, name="daily_kline")
    cerebro.addstrategy(Mystrategy)
    result = cerebro.run()

    cerebro.plot()

The data set used in this article corresponds to "daily-kline.csv"

,htsc_code,time,frequency,open,close,high,low,num_trades,volume,value
0,601688.SH,2021-05-10 15:59:30,daily,15.84,15.79,15.96,15.62,28282,35596835.0,562839801.29
1,601688.SH,2021-05-11 15:59:28,daily,15.68,15.93,16.04,15.63,30521,37357237.0,591080391.19
2,601688.SH,2021-05-12 15:59:31,daily,15.87,15.93,16.02,15.83,21329,30151217.0,480201356.16
3,601688.SH,2021-05-13 15:59:40,daily,15.85,15.84,16.01,15.78,23094,30285296.0,480853600.53
4,601688.SH,2021-05-14 15:59:29,daily,15.86,16.59,16.7,15.86,95265,129885879.0,2123979789.96
5,601688.SH,2021-05-17 15:59:27,daily,16.39,16.28,16.49,16.18,49254,66919831.0,1092312662.0
6,601688.SH,2021-05-18 15:59:48,daily,16.28,16.31,16.45,16.2,25301,34684998.0,566721733.25
7,601688.SH,2021-05-19 15:59:46,daily,16.31,16.16,16.35,16.13,33231,34386534.0,557618846.81
8,601688.SH,2021-05-20 15:59:54,daily,16.2,16.27,16.42,16.11,35183,40836929.0,664254575.25
9,601688.SH,2021-05-21 15:59:34,daily,16.28,16.14,16.4,16.1,26348,31909911.0,517231375.46
10,601688.SH,2021-05-24 15:59:18,daily,16.18,16.33,16.54,16.18,38455,58663502.0,961723342.61
11,601688.SH,2021-05-25 15:59:19,daily,16.33,16.81,16.91,16.29,89019,138356576.0,2318280598.16
12,601688.SH,2021-05-26 15:59:52,daily,16.91,16.78,17.18,16.73,79976,124854945.0,2115218139.99
13,601688.SH,2021-05-27 15:59:54,daily,16.82,16.83,17.05,16.75,53570,60479242.0,1019383720.89
14,601688.SH,2021-05-28 15:59:21,daily,16.77,17.12,17.26,16.73,66623,109691245.0,1867186634.63
15,601688.SH,2021-05-31 15:59:08,daily,17.25,17.17,17.32,17.06,56615,75298123.0,1291544457.74
16,601688.SH,2021-06-01 15:59:49,daily,17.05,16.87,17.08,16.73,51466,64234310.0,1084055063.64
17,601688.SH,2021-06-02 15:59:49,daily,16.93,16.6,16.99,16.53,50153,54788457.0,915414330.16
18,601688.SH,2021-06-03 15:59:56,daily,16.6,16.52,16.77,16.49,37028,45594134.0,758380438.46
19,601688.SH,2021-06-04 15:59:25,daily,16.46,16.61,16.95,16.42,52682,74429139.0,1236774458.7
20,601688.SH,2021-06-07 15:59:49,daily,16.59,16.63,16.74,16.49,36331,41911716.0,697120642.85
21,601688.SH,2021-06-08 15:59:14,daily,16.6,16.64,16.78,16.55,38187,46456919.0,773327155.65
22,601688.SH,2021-06-09 15:59:46,daily,16.64,16.31,16.71,16.28,48591,60263509.0,990973823.17
23,601688.SH,2021-06-10 15:59:13,daily,16.31,16.19,16.42,16.18,40635,58112538.0,946626591.18
24,601688.SH,2021-06-11 15:59:22,daily,16.23,16.03,16.24,15.8,69310,96429151.0,1541445477.93
25,601688.SH,2021-06-15 15:59:32,daily,15.93,15.75,15.95,15.72,46186,51890024.0,819428251.95
26,601688.SH,2021-06-16 15:59:21,daily,15.79,15.78,15.89,15.68,32028,39260134.0,619706974.83
27,601688.SH,2021-06-17 15:59:14,daily,15.81,15.71,15.87,15.61,40045,55447098.0,872076652.69
28,601688.SH,2021-06-18 15:59:50,daily,15.7,15.84,15.87,15.66,34803,49173450.0,776770395.39
29,601688.SH,2021-06-21 15:59:39,daily,15.81,15.85,15.97,15.76,28921,41498692.0,657737511.91
30,601688.SH,2021-06-22 15:59:03,daily,15.88,15.84,15.95,15.77,31297,48417102.0,766386443.47
31,601688.SH,2021-06-23 15:59:34,daily,15.84,15.78,15.85,15.68,34211,49617972.0,781547490.67
32,601688.SH,2021-06-24 15:59:25,daily,15.8,15.81,15.9,15.72,27752,43795145.0,693070077.7
33,601688.SH,2021-06-25 15:59:02,daily,15.87,16.05,16.16,15.81,56325,88999986.0,1426284259.52
34,601688.SH,2021-06-28 15:59:36,daily,16.11,15.9,16.14,15.82,36771,52141733.0,831073404.84
35,601688.SH,2021-06-29 15:59:13,daily,15.92,15.75,15.94,15.74,30477,44609519.0,705452037.51
36,601688.SH,2021-06-30 15:59:04,daily,15.76,15.8,15.85,15.67,31308,42261704.0,665555629.07
37,601688.SH,2021-07-01 15:59:56,daily,15.91,15.88,16.02,15.72,40918,69101172.0,1095995696.95
38,601688.SH,2021-07-02 15:59:35,daily,15.73,15.55,15.75,15.51,49071,57956844.0,903541676.49
39,601688.SH,2021-07-05 15:59:49,daily,15.53,15.48,15.57,15.41,30497,38992779.0,603412724.99
40,601688.SH,2021-07-06 15:59:40,daily,15.48,15.51,15.63,15.43,24579,38183581.0,591458714.33
41,601688.SH,2021-07-07 15:59:20,daily,15.45,15.51,15.55,15.41,24043,36247260.0,561188660.73
42,601688.SH,2021-07-08 15:59:36,daily,15.61,15.44,15.63,15.42,27162,36915887.0,571674378.72
43,601688.SH,2021-07-09 15:59:11,daily,15.42,15.44,15.48,15.36,29307,37829044.0,583520253.05
44,601688.SH,2021-07-12 15:59:03,daily,15.58,15.57,15.69,15.5,40329,67506264.0,1053363044.22
45,601688.SH,2021-07-13 15:59:15,daily,15.58,15.56,15.59,15.46,25792,40325430.0,626294811.67
46,601688.SH,2021-07-14 15:59:19,daily,15.59,15.39,15.6,15.35,36002,52085309.0,802301776.14
47,601688.SH,2021-07-15 15:59:13,daily,15.37,15.45,15.5,15.3,30657,47059718.0,725843661.22
48,601688.SH,2021-07-16 15:59:40,daily,15.48,15.49,15.62,15.4,30999,50846694.0,788001715.36
49,601688.SH,2021-07-19 15:59:06,daily,15.47,15.44,15.47,15.31,26418,36443838.0,560647347.63
50,601688.SH,2021-07-20 15:59:29,daily,15.35,15.4,15.45,15.34,20884,29096917.0,447543477.88
51,601688.SH,2021-07-21 15:59:54,daily,15.41,15.44,15.58,15.39,27674,41902088.0,648545972.84
52,601688.SH,2021-07-22 15:59:09,daily,15.5,15.6,15.67,15.44,39441,58745037.0,915384189.07
53,601688.SH,2021-07-23 15:59:16,daily,15.59,15.64,15.96,15.43,55858,95661291.0,1500007414.97
54,601688.SH,2021-07-26 15:59:43,daily,15.63,15.37,15.7,15.3,50938,80046935.0,1239299383.12
55,601688.SH,2021-07-27 15:59:35,daily,15.38,14.69,15.43,14.61,69756,98333348.0,1476950376.66
56,601688.SH,2021-07-28 15:59:02,daily,14.73,14.58,14.84,14.51,39369,56146637.0,825384401.74
57,601688.SH,2021-07-29 15:59:49,daily,14.73,14.65,14.76,14.53,33849,48706055.0,712866385.64
58,601688.SH,2021-07-30 15:59:45,daily,14.6,14.44,14.61,14.41,29264,42163673.0,610197056.72
59,601688.SH,2021-08-02 15:59:56,daily,14.42,14.91,15.12,14.21,60761,91083999.0,1342846316.22
60,601688.SH,2021-08-03 15:59:08,daily,14.81,14.94,15.16,14.74,38794,59555327.0,889634697.93
61,601688.SH,2021-08-04 15:59:11,daily,14.85,14.93,14.99,14.81,23335,34381576.0,512081413.57
62,601688.SH,2021-08-05 15:59:43,daily,14.86,14.84,15.05,14.79,25300,35809013.0,532963383.55
63,601688.SH,2021-08-06 15:59:30,daily,14.48,14.29,14.5,14.22,39278,51641596.0,739568754.56
64,601688.SH,2021-08-09 15:59:22,daily,14.23,14.6,14.73,14.22,47776,66552816.0,970424270.54
65,601688.SH,2021-08-10 15:59:22,daily,14.6,14.83,14.85,14.53,41768,52661165.0,774485625.29
66,601688.SH,2021-08-11 15:59:14,daily,14.83,14.84,14.97,14.77,40636,52409720.0,779729669.84
67,601688.SH,2021-08-12 15:59:19,daily,14.77,14.75,14.9,14.71,26330,33235480.0,491549331.85
68,601688.SH,2021-08-13 15:59:37,daily,14.71,14.71,14.85,14.65,31823,43405540.0,638757323.87
69,601688.SH,2021-08-16 15:59:33,daily,14.8,14.85,14.97,14.77,43530,61306499.0,912842937.97
70,601688.SH,2021-08-17 15:59:56,daily,14.85,14.85,15.32,14.82,71229,114627467.0,1730205892.29
71,601688.SH,2021-08-18 15:59:23,daily,14.85,16.11,16.19,14.82,165973,302135568.0,4744324787.13
72,601688.SH,2021-08-19 15:59:10,daily,16.07,16.13,16.88,15.93,185539,364774545.0,5985609767.04
73,601688.SH,2021-08-20 15:59:13,daily,16.04,16.3,16.48,15.9,117556,189931358.0,3081471536.49
74,601688.SH,2021-08-23 15:59:32,daily,16.45,16.08,16.74,16.04,106528,163134890.0,2657658132.37
75,601688.SH,2021-08-24 15:59:43,daily,16.01,16.59,16.88,15.81,138970,238315280.0,3910962224.06
76,601688.SH,2021-08-25 15:59:55,daily,16.38,16.42,16.71,16.32,88543,128254385.0,2110773033.3
77,601688.SH,2021-08-26 15:59:35,daily,16.42,15.96,16.44,15.96,93563,123483389.0,1989085495.82
78,601688.SH,2021-08-27 15:59:47,daily,15.97,15.79,16.19,15.74,78430,99534120.0,1583008057.74
79,601688.SH,2021-08-30 15:59:49,daily,16.09,15.95,16.15,15.77,77269,113274147.0,1808262465.57
80,601688.SH,2021-08-31 15:59:15,daily,15.96,16.38,16.65,15.73,103153,165512381.0,2686944805.95
81,601688.SH,2021-09-01 15:59:48,daily,16.32,17.01,17.42,16.28,164348,283059510.0,4793562424.22
82,601688.SH,2021-09-02 15:59:46,daily,17.01,17.6,17.85,16.9,150616,272988015.0,4736135108.93
83,601688.SH,2021-09-03 15:59:53,daily,18.3,17.36,18.59,17.26,171546,297562416.0,5307841869.37
84,601688.SH,2021-09-06 15:59:04,daily,17.33,18.05,18.15,17.29,147203,224620203.0,4023184594.62
85,601688.SH,2021-09-07 15:59:58,daily,17.94,18.68,18.86,17.71,143066,223786504.0,4093033910.72
86,601688.SH,2021-09-08 15:59:17,daily,18.89,18.7,19.36,18.64,143042,211326435.0,4012025635.55
87,601688.SH,2021-09-09 15:59:30,daily,18.4,18.34,18.55,18.06,105977,153654650.0,2811835980.29
88,601688.SH,2021-09-10 15:59:28,daily,18.57,18.98,19.6,18.47,156375,251547110.0,4806554270.11
89,601688.SH,2021-09-13 15:59:39,daily,18.94,19.15,19.49,18.87,102172,148622180.0,2850595247.08
90,601688.SH,2021-09-14 15:59:11,daily,19.11,18.56,19.24,18.39,120248,182649521.0,3425954393.6
91,601688.SH,2021-09-15 15:59:57,daily,18.71,18.09,18.75,18.04,111762,163973948.0,3008422082.4
92,601688.SH,2021-09-16 15:59:02,daily,18.29,17.68,18.29,17.58,115872,156745040.0,2803162726.16
93,601688.SH,2021-09-17 15:59:42,daily,17.7,17.96,18.07,17.55,93748,115544278.0,2059533818.28
94,601688.SH,2021-09-22 15:59:27,daily,17.61,17.77,17.95,17.38,84297,111284958.0,1961495933.55
95,601688.SH,2021-09-23 15:59:04,daily,17.91,18.01,18.29,17.81,78975,94786601.0,1708931930.69
96,601688.SH,2021-09-24 15:59:44,daily,18.02,17.75,18.36,17.7,88078,91255998.0,1641912727.01
97,601688.SH,2021-09-27 15:59:22,daily,17.65,17.18,17.78,16.97,103858,138313890.0,2403171074.17
98,601688.SH,2021-09-28 15:59:10,daily,17.23,17.72,17.83,17.1,83183,105857447.0,1853073128.76
99,601688.SH,2021-09-29 15:59:32,daily,17.49,17.16,17.49,16.83,95356,120464142.0,2066101222.2
100,601688.SH,2021-09-30 15:59:08,daily,17.2,16.99,17.24,16.85,74196,78169093.0,1329560763.76
101,601688.SH,2021-10-08 15:59:25,daily,17.18,17.32,17.51,17.13,59848,68512137.0,1184940477.41
102,601688.SH,2021-10-11 15:59:34,daily,17.35,17.07,17.46,17.01,61363,66203565.0,1138727087.33
103,601688.SH,2021-10-12 15:59:43,daily,16.98,16.46,16.98,16.18,115631,143246036.0,2363532556.62
104,601688.SH,2021-10-13 15:59:55,daily,16.43,16.29,16.55,16.16,61774,73612071.0,1204704640.8
105,601688.SH,2021-10-14 15:59:50,daily,16.32,16.31,16.37,16.06,65485,60450753.0,981241457.89
106,601688.SH,2021-10-15 15:59:49,daily,16.27,16.28,16.43,16.16,56344,56661143.0,923426603.52
107,601688.SH,2021-10-18 15:59:50,daily,16.35,16.33,16.45,16.2,54177,53418596.0,872230132.14
108,601688.SH,2021-10-19 15:59:44,daily,16.26,16.36,16.53,16.23,64195,67517302.0,1106964253.38
109,601688.SH,2021-10-20 15:59:55,daily,16.44,16.15,16.49,16.11,62160,72574390.0,1179245366.3
110,601688.SH,2021-10-21 15:59:16,daily,16.18,16.27,16.5,16.17,61772,77205032.0,1260896351.93
111,601688.SH,2021-10-22 15:59:05,daily,16.3,16.33,16.44,16.21,43165,50023686.0,816055029.6
112,601688.SH,2021-10-25 15:59:33,daily,16.34,16.48,16.57,16.15,65382,75235358.0,1230195226.87
113,601688.SH,2021-10-26 15:59:08,daily,16.39,16.1,16.44,16.08,68847,77210757.0,1253817816.26
114,601688.SH,2021-10-27 15:59:01,daily,16.12,15.71,16.12,15.5,87779,107501581.0,1691626901.01
115,601688.SH,2021-10-28 15:59:20,daily,15.66,15.7,15.88,15.58,51539,54249237.0,854229735.27
116,601688.SH,2021-10-29 15:59:07,daily,15.7,15.87,15.99,15.32,62694,78399447.0,1231003027.62
117,601688.SH,2021-11-01 15:59:30,daily,15.89,16.17,16.22,15.69,66902,76068621.0,1221089086.04
118,601688.SH,2021-11-02 15:59:38,daily,16.1,15.81,16.26,15.64,68307,72906911.0,1158624918.24
119,601688.SH,2021-11-03 15:59:16,daily,15.81,15.7,15.89,15.61,51228,48895932.0,768725006.35
120,601688.SH,2021-11-04 15:59:42,daily,15.77,15.59,15.84,15.52,51768,64693557.0,1010974573.68
121,601688.SH,2021-11-05 15:59:51,daily,15.57,15.49,15.66,15.47,44187,47005477.0,731090814.43
122,601688.SH,2021-11-08 15:59:58,daily,15.5,15.53,15.68,15.42,44772,49521963.0,768446324.16
123,601688.SH,2021-11-09 15:59:35,daily,15.59,15.57,15.59,15.38,42781,52580297.0,814390761.74
124,601688.SH,2021-11-10 15:59:28,daily,15.52,15.42,15.53,15.25,50990,61550523.0,946103022.48
125,601688.SH,2021-11-11 15:59:05,daily,15.38,15.9,16.02,15.37,85315,133821238.0,2109525152.23
126,601688.SH,2021-11-12 15:59:08,daily,15.88,16.08,16.14,15.75,63104,79297064.0,1264958224.64
127,601688.SH,2021-11-15 15:59:42,daily,16.13,15.83,16.13,15.75,63704,66741742.0,1059952096.92
128,601688.SH,2021-11-16 15:59:10,daily,15.8,15.74,15.96,15.65,46025,54658022.0,862439347.82
129,601688.SH,2021-11-17 15:59:05,daily,15.75,15.62,15.8,15.6,48159,55359283.0,867972624.68
130,601688.SH,2021-11-18 15:59:02,daily,15.6,15.41,15.62,15.39,50042,60101349.0,929973892.42
131,601688.SH,2021-11-19 15:59:45,daily,15.41,15.69,15.78,15.36,58954,84974483.0,1323524740.26
132,601688.SH,2021-11-22 15:59:05,daily,15.65,15.72,15.89,15.61,54846,69738913.0,1098582888.81
133,601688.SH,2021-11-23 15:59:22,daily,15.73,16.2,16.45,15.65,128051,165616080.0,2676436827.82
134,601688.SH,2021-11-24 15:59:44,daily,16.11,16.2,16.33,16.05,68231,78039987.0,1262894250.5
135,601688.SH,2021-11-25 15:59:26,daily,16.19,16.22,16.31,16.11,46564,53173035.0,861137980.83
136,601688.SH,2021-11-26 15:59:04,daily,16.19,15.9,16.21,15.87,62551,75156539.0,1200342386.32
137,601688.SH,2021-11-29 15:59:09,daily,15.67,15.64,15.79,15.57,57852,70261203.0,1100446386.44
138,601688.SH,2021-11-30 15:59:18,daily,15.7,15.82,15.87,15.67,43797,58310199.0,919854602.17
139,601688.SH,2021-12-01 15:59:58,daily,15.75,16.23,16.27,15.73,71972,89737250.0,1443777478.9
140,601688.SH,2021-12-02 15:59:12,daily,16.16,16.4,16.58,16.12,91144,109233068.0,1791364300.7
141,601688.SH,2021-12-03 15:59:38,daily,16.38,16.43,16.52,16.16,65111,77290642.0,1263945191.66
142,601688.SH,2021-12-06 15:59:20,daily,16.58,16.92,17.68,16.51,184980,240565023.0,4127409686.7
143,601688.SH,2021-12-07 15:59:17,daily,17.15,16.98,17.16,16.77,118144,129671213.0,2201071969.25
144,601688.SH,2021-12-08 15:59:02,daily,17.02,17.12,17.19,16.85,86127,102524121.0,1747191846.42
145,601688.SH,2021-12-09 15:59:42,daily,17.08,17.28,17.57,17.03,100382,145225486.0,2513815041.02
146,601688.SH,2021-12-10 15:59:10,daily,17.08,16.96,17.1,16.84,83532,108003347.0,1831695892.92
147,601688.SH,2021-12-13 15:59:02,daily,17.25,17.11,17.54,17.1,91333,132365105.0,2290914475.43
148,601688.SH,2021-12-14 15:59:36,daily,16.97,17.09,17.26,16.91,57271,69569230.0,1188006193.81
149,601688.SH,2021-12-15 15:59:10,daily,17.08,17.21,17.35,17.05,66793,80548483.0,1388970906.63
150,601688.SH,2021-12-16 15:59:23,daily,17.28,17.38,17.4,17.12,57586,68319704.0,1182075658.74
151,601688.SH,2021-12-17 15:59:39,daily,17.4,17.16,17.46,17.15,56983,69678294.0,1205204315.69
152,601688.SH,2021-12-20 15:59:53,daily,17.02,16.85,17.21,16.82,56452,68011823.0,1156022592.78
153,601688.SH,2021-12-21 15:59:14,daily,16.86,17.27,17.41,16.86,65549,81999767.0,1410702192.78
154,601688.SH,2021-12-22 15:59:50,daily,17.3,17.23,17.33,17.13,51287,53968060.0,930542862.67
155,601688.SH,2021-12-23 15:59:46,daily,17.25,17.26,17.4,17.13,48926,51498904.0,889512942.0
156,601688.SH,2021-12-24 15:59:08,daily,17.32,17.16,17.39,17.13,47783,47686379.0,822659918.19
157,601688.SH,2021-12-27 15:59:26,daily,17.17,17.33,17.33,17.09,44151,45923688.0,792369163.56
158,601688.SH,2021-12-28 15:59:13,daily,17.33,17.36,17.44,17.14,55697,57663374.0,996562768.44
159,601688.SH,2021-12-29 15:59:24,daily,17.39,17.25,17.44,17.22,43980,47402214.0,821418680.9
160,601688.SH,2021-12-30 15:59:10,daily,17.2,17.69,17.88,17.2,82235,99597517.0,1759101161.26
161,601688.SH,2021-12-31 15:59:20,daily,17.75,17.76,17.84,17.62,60088,61541826.0,1091333843.87
162,601688.SH,2022-01-04 15:59:07,daily,17.76,17.65,17.79,17.4,64806,66007030.0,1161432402.26
163,601688.SH,2022-01-05 15:59:31,daily,17.65,17.42,17.77,17.38,60754,76946706.0,1349631208.7
164,601688.SH,2022-01-06 15:59:38,daily,17.3,17.01,17.35,16.89,83650,104128527.0,1778459822.75
165,601688.SH,2022-01-07 15:59:45,daily,17.1,17.29,17.59,17.08,66005,80514072.0,1397137375.04
166,601688.SH,2022-01-10 15:59:13,daily,17.38,17.39,17.68,17.32,62909,65382790.0,1141609692.98
167,601688.SH,2022-01-11 15:59:34,daily,17.34,17.2,17.57,17.13,54219,64709426.0,1120196332.44
168,601688.SH,2022-01-12 15:59:03,daily,17.22,17.21,17.26,16.98,49733,57217038.0,979598610.2
169,601688.SH,2022-01-13 15:59:55,daily,17.32,17.16,17.62,17.15,67626,82765208.0,1439470873.62
170,601688.SH,2022-01-14 15:59:42,daily,17.0,16.76,17.08,16.74,74198,93240305.0,1576657079.75
171,601688.SH,2022-01-17 15:59:03,daily,16.73,17.03,17.07,16.68,60565,73549789.0,1239647996.63
172,601688.SH,2022-01-18 15:59:15,daily,17.0,17.15,17.28,16.88,51735,59546214.0,1017922587.18
173,601688.SH,2022-01-19 15:59:14,daily,17.19,17.51,17.97,17.19,114906,160814476.0,2845548563.61
174,601688.SH,2022-01-20 15:59:49,daily,17.52,18.16,18.5,17.48,152180,214956495.0,3892223954.63
175,601688.SH,2022-01-21 15:59:53,daily,18.02,18.01,18.35,17.96,103163,108824249.0,1971070516.87
176,601688.SH,2022-01-24 15:59:10,daily,18.01,18.33,18.4,17.93,111310,124367374.0,2266863294.03
177,601688.SH,2022-01-25 15:59:47,daily,18.2,17.68,18.28,17.64,87427,95399818.0,1709282490.88
178,601688.SH,2022-01-26 15:59:30,daily,17.7,18.17,18.34,17.7,95108,109374908.0,1973451204.82
179,601688.SH,2022-01-27 15:59:16,daily,18.01,17.54,18.02,17.44,83136,99534648.0,1758117034.77
180,601688.SH,2022-01-28 15:59:15,daily,17.58,17.08,17.75,17.02,80505,85540866.0,1488833610.81
181,601688.SH,2022-02-07 15:59:33,daily,17.35,17.29,17.45,17.18,62060,72270081.0,1250195760.92
182,601688.SH,2022-02-08 15:59:12,daily,17.27,17.53,17.77,17.06,87230,97104848.0,1692001497.83
183,601688.SH,2022-02-09 15:59:07,daily,17.47,17.39,17.55,17.31,53497,57533450.0,1002137056.77
184,601688.SH,2022-02-10 15:59:16,daily,17.39,17.7,17.81,17.32,76454,90867770.0,1601302259.47
185,601688.SH,2022-02-11 15:59:40,daily,17.61,17.9,18.25,17.61,88185,101408362.0,1824116649.67
186,601688.SH,2022-02-14 15:59:33,daily,17.73,16.87,17.84,16.78,118871,145767011.0,2498152440.55
187,601688.SH,2022-02-15 15:59:36,daily,16.86,17.05,17.15,16.85,61446,55411960.0,941742715.19
188,601688.SH,2022-02-16 15:59:48,daily,17.15,17.1,17.32,17.0,57550,54958784.0,942080741.9
189,601688.SH,2022-02-17 15:59:25,daily,17.04,16.85,17.13,16.79,58335,56179718.0,951409102.55
190,601688.SH,2022-02-18 15:59:08,daily,16.7,16.93,16.95,16.61,52141,52775214.0,886341345.85
191,601688.SH,2022-02-21 15:59:30,daily,16.9,16.83,16.94,16.72,59135,59559036.0,999675119.67
192,601688.SH,2022-02-22 15:59:21,daily,16.72,16.41,16.72,16.32,88700,83606396.0,1376224376.85
193,601688.SH,2022-02-23 15:59:22,daily,16.42,16.54,16.58,16.35,42795,53101358.0,874521835.2
194,601688.SH,2022-02-24 15:59:20,daily,16.41,15.95,16.46,15.8,84721,91066799.0,1465068826.77
195,601688.SH,2022-02-25 15:59:16,daily,16.09,15.9,16.16,15.88,49513,52260552.0,836637979.97
196,601688.SH,2022-02-28 15:59:55,daily,15.91,15.84,15.93,15.65,59661,54204047.0,854591674.11
197,601688.SH,2022-03-01 15:59:55,daily,15.89,16.0,16.06,15.82,45003,42630000.0,679541986.55
198,601688.SH,2022-03-02 15:59:26,daily,15.89,15.87,16.01,15.79,43382,42441222.0,673513969.59
199,601688.SH,2022-03-03 15:59:11,daily,15.92,15.91,16.06,15.87,37932,42685432.0,681110214.44
200,601688.SH,2022-03-04 15:59:25,daily,15.79,15.67,15.83,15.6,51523,51777623.0,812775783.86
201,601688.SH,2022-03-07 15:59:15,daily,15.64,15.25,15.65,15.2,64290,69593302.0,1070504474.74
202,601688.SH,2022-03-08 15:59:09,daily,15.25,14.95,15.39,14.94,61075,67121675.0,1019096125.35
203,601688.SH,2022-03-09 15:59:31,daily,15.02,14.56,15.11,14.1,72025,89478755.0,1313385114.03
204,601688.SH,2022-03-10 15:59:44,daily,14.9,14.53,14.95,14.48,68852,86602614.0,1274251672.66
205,601688.SH,2022-03-11 15:59:11,daily,14.37,14.74,14.8,14.18,67709,80966247.0,1174085547.41
206,601688.SH,2022-03-14 15:59:31,daily,14.55,14.48,14.8,14.45,54093,53949816.0,788595012.99
207,601688.SH,2022-03-15 15:59:37,daily,14.42,13.99,14.63,13.98,74265,83994394.0,1200883182.42
208,601688.SH,2022-03-16 15:59:36,daily,14.12,14.79,14.94,13.89,95204,133822107.0,1937732605.07
209,601688.SH,2022-03-17 15:59:53,daily,14.98,14.73,15.09,14.7,64978,95412139.0,1415073070.01
210,601688.SH,2022-03-18 15:59:08,daily,14.72,14.91,15.02,14.61,45635,57221106.0,848437742.16
211,601688.SH,2022-03-21 15:59:49,daily,14.88,14.75,14.88,14.67,47653,55348527.0,816634068.23
212,601688.SH,2022-03-22 15:59:02,daily,14.68,14.75,14.91,14.66,40159,45844607.0,677452475.09
213,601688.SH,2022-03-23 15:59:32,daily,14.79,14.74,14.84,14.64,37653,39784491.0,586033901.53
214,601688.SH,2022-03-24 15:59:36,daily,14.62,14.61,14.73,14.53,37219,34806429.0,509042699.22
215,601688.SH,2022-03-25 15:59:29,daily,14.6,14.45,14.75,14.44,37001,38204962.0,555878659.92
216,601688.SH,2022-03-28 15:59:30,daily,14.36,14.58,14.69,14.29,49283,49758808.0,721548091.58
217,601688.SH,2022-03-29 15:59:11,daily,14.56,14.53,14.64,14.48,30014,24979972.0,363612304.32
218,601688.SH,2022-03-30 15:59:34,daily,14.62,14.97,15.05,14.61,67550,80532616.0,1199043133.1
219,601688.SH,2022-03-31 15:59:42,daily,14.9,14.88,15.03,14.82,44327,42570887.0,634938973.17
220,601688.SH,2022-04-01 15:59:06,daily,14.8,15.03,15.05,14.76,55763,58781891.0,878828296.3
221,601688.SH,2022-04-06 15:59:16,daily,14.95,15.01,15.03,14.86,49484,53370668.0,798112750.92
222,601688.SH,2022-04-07 15:59:26,daily,14.96,14.73,15.16,14.73,49205,55257767.0,825724639.93
223,601688.SH,2022-04-08 15:59:39,daily,14.8,15.02,15.12,14.67,58060,59654276.0,890965469.44
224,601688.SH,2022-04-11 15:59:50,daily,15.0,14.65,15.0,14.56,55853,51829802.0,763963888.72
225,601688.SH,2022-04-12 15:59:19,daily,14.62,14.93,15.11,14.52,63920,71167789.0,1057351405.04
226,601688.SH,2022-04-13 15:59:24,daily,14.82,14.73,14.95,14.72,37654,38545144.0,570890065.96
227,601688.SH,2022-04-14 15:59:32,daily,14.87,14.93,15.03,14.82,43273,52037019.0,777950379.1
228,601688.SH,2022-04-15 15:59:16,daily,14.83,14.91,15.06,14.8,40827,45559566.0,679907037.21
229,601688.SH,2022-04-18 15:59:37,daily,14.73,14.51,14.77,14.32,50327,56059727.0,813559646.26
230,601688.SH,2022-04-19 15:59:17,daily,14.5,14.44,14.58,14.38,29064,30904842.0,447413328.08
231,601688.SH,2022-04-20 15:59:06,daily,14.49,14.25,14.51,14.15,40416,43930218.0,629100405.97
232,601688.SH,2022-04-21 15:59:51,daily,14.21,14.17,14.43,14.12,42196,43499656.0,620104400.05
233,601688.SH,2022-04-22 15:59:52,daily,14.11,14.25,14.38,14.1,40274,37371284.0,532873208.8
234,601688.SH,2022-04-25 15:59:35,daily,14.0,13.6,14.16,13.58,69712,73974000.0,1027285427.21
235,601688.SH,2022-04-26 15:59:32,daily,13.61,12.96,13.68,12.87,79530,85611663.0,1132840325.96
236,601688.SH,2022-04-27 15:59:24,daily,12.75,13.08,13.15,12.72,53727,65197695.0,843524256.11
237,601688.SH,2022-04-28 15:59:21,daily,12.96,12.86,13.03,12.66,54958,56871096.0,730862029.86
238,601688.SH,2022-04-29 15:59:18,daily,13.15,13.35,13.4,12.92,75899,94714611.0,1249489162.06
239,601688.SH,2022-05-05 15:59:04,daily,13.12,13.19,13.28,13.07,49282,45430653.0,599623820.78
240,601688.SH,2022-05-06 15:59:42,daily,13.0,12.82,13.05,12.81,45307,41061236.0,529766994.38
241,601688.SH,2022-05-09 15:59:56,daily,12.79,12.87,12.91,12.75,30296,22977832.0,295210088.96

Guess you like

Origin blog.csdn.net/weixin_38132951/article/details/129181631