diff --git a/QUANTAXIS_Test/QAARP_Test/QAAccount_Test.py b/QUANTAXIS_Test/QAARP_Test/QAAccount_Test.py
index ca90ed474..6e1c76cb5 100644
--- a/QUANTAXIS_Test/QAARP_Test/QAAccount_Test.py
+++ b/QUANTAXIS_Test/QAARP_Test/QAAccount_Test.py
@@ -1,33 +1,33 @@
-import unittest;
+import random as rnd
+import unittest
 
-from QUANTAXIS.QAUtil import (QADate)
-from QUANTAXIS.QAUtil import (QARandom)
 import QUANTAXIS as QA
-import random as rnd
+from QUANTAXIS.QAUtil import QADate, QARandom
 
-class Test_QAAccount(unittest.TestCase):
 
+class Test_QAAccount(unittest.TestCase):
 
     def test_BuyAndSell(self):
         # 测试买卖事件
-        #测试流程,
-        #随机选中一组股票
-        #随机选中几个交易日 (只测试当前日期)
-        #随机卖出
-        #随机买入
-        #发送订单
-        #从队列中取回订单
-        #比较
+        # 测试流程,
+        # 随机选中一组股票
+        # 随机选中几个交易日 (只测试当前日期)
+        # 随机卖出
+        # 随机买入
+        # 发送订单
+        # 从队列中取回订单
+        # 比较
         codeCount = 10
         codeList = QARandom.QA_util_random_with_zh_stock_code(codeCount)
-        #print(codeList)
+        # print(codeList)
         # { code: QA_DataStruct_Stock_day }
         # 如果代码不存在 则 code:None
         codeForDate = {}
-        for codeIndex in range(0,codeCount):
-            aStockDataStructDay = QA.QA_fetch_stock_day_adv(codeList[codeIndex])
+        for codeIndex in range(0, codeCount):
+            aStockDataStructDay = QA.QA_fetch_stock_day_adv(
+                codeList[codeIndex])
             codeForDate[codeList[codeIndex]] = aStockDataStructDay
-        #print(codeForDate)
+        # print(codeForDate)
 
         str = QADate.QA_util_today_str()
         timestamp = QADate.QA_util_to_datetime(str)
@@ -37,18 +37,18 @@ def test_BuyAndSell(self):
         orderList = []
         for a_stock_code in codeForDate.keys():
             anOrder = account.send_order(code=a_stock_code,
-                                 amount=100,
-                                 time = timestamp,
-                                 towards= 1,
-                                 price= 8.8,
-                                 order_model= QA.ORDER_MODEL.LIMIT,
-                                 amount_model=QA.AMOUNT_MODEL.BY_AMOUNT)
+                                         amount=100,
+                                         time=timestamp,
+                                         towards=1,
+                                         price=8.8,
+                                         order_model=QA.ORDER_MODEL.LIMIT,
+                                         amount_model=QA.AMOUNT_MODEL.BY_AMOUNT)
             orderList.append(anOrder)
 
         orderQueue = account.get_orders()
         print(orderQueue)
 
-        self.assertEqual(len(orderQueue.queue_df) , codeCount)
+        self.assertEqual(len(orderQueue.queue_df), codeCount)
 
         orderList2 = []
         print(orderQueue.queue_df)
@@ -56,7 +56,7 @@ def test_BuyAndSell(self):
             anOrder2 = orderQueue.query_order(orderId)
             orderList2.append(anOrder2)
 
-        self.assertEqual( len(orderList),len(orderList2) )
+        self.assertEqual(len(orderList), len(orderList2))
 
         orderCount = len(orderList)
         for i in range(orderCount):
@@ -64,7 +64,7 @@ def test_BuyAndSell(self):
             order_01 = orderList[i]
             order_02 = orderList2[i]
 
-            #总是不正确
+            # 总是不正确
             #b = order_01 is order_02
             #b = order_01 == order_02
             #b = (order_01.__dict__ == order_02.__dict__)
@@ -78,53 +78,54 @@ def test_BuyAndSell(self):
                     print(v1)
                     print(v2)
                     self.fail("订单数据不正确")
-            #todo 继续研究为何不正确
+            # todo 继续研究为何不正确
             #self.assertEqual(order_01, order_02)
         pass
 
     def n0_test_QAAccount_class(self):
 
-        #测试流程 获取 美康生物 300439 的走势 从 2017年10月01日开始 到 2018年 4月30日
+        # 测试流程 获取 美康生物 300439 的走势 从 2017年10月01日开始 到 2018年 4月30日
         #
         test_stock_code = '300439'
-        stock_price_list = QA.QA_fetch_stock_day(code = test_stock_code, start = '2017-10-01', end = '2018-04-30')
+        stock_price_list = QA.QA_fetch_stock_day(
+            code=test_stock_code, start='2017-10-01', end='2018-04-30')
         #buy_list = []
 
         print(stock_price_list)
         print("---------开始测试买入------------")
         #price_list_size = stock_price_list.size
 
-        #生成随机数种子
+        # 生成随机数种子
         rnd.seed(QA.QA_util_time_now().timestamp())
 
         Account = QA.QA_Account()
         B = QA.QA_BacktestBroker()
 
         for aday_stock_price in stock_price_list:
-            stock_code  = aday_stock_price[0]
-            price_open  = aday_stock_price[1]
-            price_high  = aday_stock_price[2]
-            price_low   = aday_stock_price[3]
+            stock_code = aday_stock_price[0]
+            price_open = aday_stock_price[1]
+            price_high = aday_stock_price[2]
+            price_low = aday_stock_price[3]
             price_close = aday_stock_price[4]
             stock_volume = aday_stock_price[5]
-            stock_turn   = aday_stock_price[6]
+            stock_turn = aday_stock_price[6]
             stock_timestamp = aday_stock_price[7]
 
-            #print(type(stock_timestamp))
+            # print(type(stock_timestamp))
 
-            dt = QADate.QA_util_pands_timestamp_to_datetime(stock_timestamp);
-            date_time_to_buy = QADate.QA_util_datetime_to_strdatetime(dt);
+            dt = QADate.QA_util_pands_timestamp_to_datetime(stock_timestamp)
+            date_time_to_buy = QADate.QA_util_datetime_to_strdatetime(dt)
 
             dt = QADate.QA_util_to_datetime(date_time_to_buy)
 
             if price_low != price_high:
-                price_diff = (price_high - price_low);
+                price_diff = (price_high - price_low)
                 self.assertTrue(price_diff >= 0, "最高价一定是非负数")
 
                 rand_value = rnd.random()
                 buy_price = price_low + price_diff * rand_value
                 print("{} 申报买入的成交价格 {}".format(dt, buy_price))
-                #每天随机在开盘价格和收盘价格直接买入
+                # 每天随机在开盘价格和收盘价格直接买入
                 Order = Account.send_order(code=test_stock_code,
                                            price=buy_price,
                                            amount=100,
@@ -134,21 +135,22 @@ def n0_test_QAAccount_class(self):
                                            order_model=QA.ORDER_MODEL.LIMIT,
                                            amount_model=QA.AMOUNT_MODEL.BY_AMOUNT
                                            )
-                print('ORDER的占用资金: {}'.format((Order.amount * Order.price) * (1 + Account.commission_coeff)))
-                print('账户剩余资金 :{}'.format(Account.cash_available)) ## ??
+                print('ORDER的占用资金: {}'.format(
+                    (Order.amount * Order.price) * (1 + Account.commission_coeff)))
+                print('账户剩余资金 :{}'.format(Account.cash_available))  # ??
                 cash_available = Account.cash_available
                 print(cash_available)
 
-                rec_mes=B.receive_order(QA.QA_Event(order=Order))
+                rec_mes = B.receive_order(QA.QA_Event(order=Order))
                 print(rec_mes)
                 Account.receive_deal(rec_mes)
 
-                knock_down_price = rec_mes['body']['order']['price'];
-                bid_price = round(buy_price, 2);
+                knock_down_price = rec_mes['body']['order']['price']
+                bid_price = round(buy_price, 2)
 
                 print("{} 获取订单的价格 {}".format(dt, buy_price))
 
                 self.assertEqual(knock_down_price, bid_price)
 
                 print('账户的可用资金 {}'.format(Account.cash_available))
-                print('-----------------------------------------------')
\ No newline at end of file
+                print('-----------------------------------------------')
diff --git a/QUANTAXIS_Test/QAARP_Test/QAUser_Test.py b/QUANTAXIS_Test/QAARP_Test/QAUser_Test.py
index d98386be4..9d129b5da 100644
--- a/QUANTAXIS_Test/QAARP_Test/QAUser_Test.py
+++ b/QUANTAXIS_Test/QAARP_Test/QAUser_Test.py
@@ -1,6 +1,7 @@
-import QUANTAXIS as QA
 import unittest
 
+import QUANTAXIS as QA
+
 
 class Test_QAUser(unittest.TestCase):
     def testQAUser(self):
@@ -21,9 +22,8 @@ def testQAUser(self):
             p2 = user.get_portfolio(portfolio1)
             ac2 = user.get_portfolio(portfolio1).get_account(ac1)
 
-            self.assertEqual(p2,p)
-            self.assertEqual(ac1,ac2)
+            self.assertEqual(p2, p)
+            self.assertEqual(ac1, ac2)
 
         except:
             print("Error")
-
diff --git a/QUANTAXIS_Test/QAAnalysis_Test/QAAnalysis_dataframe_Test.py b/QUANTAXIS_Test/QAAnalysis_Test/QAAnalysis_dataframe_Test.py
index 5f498b7b8..d53a5251f 100644
--- a/QUANTAXIS_Test/QAAnalysis_Test/QAAnalysis_dataframe_Test.py
+++ b/QUANTAXIS_Test/QAAnalysis_Test/QAAnalysis_dataframe_Test.py
@@ -2,10 +2,12 @@
 
 import QUANTAXIS as QA
 
+
 class Test_QAAnalysis_dataframe(unittest.TestCase):
     def test_QAAnalysis_stock(self):
 
-        data = QA.QA_fetch_stock_day_adv('600066', '2013-12-01', '2017-10-01')  # [可选to_qfq(),to_hfq()]
+        data = QA.QA_fetch_stock_day_adv(
+            '600066', '2013-12-01', '2017-10-01')  # [可选to_qfq(),to_hfq()]
         s = QA.QAAnalysis_stock(data)
         # s 的属性是( < QAAnalysis_Stock > )
 
@@ -23,7 +25,7 @@ def test_QAAnalysis_stock(self):
         s.max  # price的最大值
         s.min  # price的最小值
         s.mad  # price的平均绝对偏差
-        #s.mode  # price的众数(没啥用)
+        # s.mode  # price的众数(没啥用)
         s.price_diff  # price的一阶差分
         s.variance  # price的方差
         s.pvariance  # price的样本方差
@@ -35,4 +37,4 @@ def test_QAAnalysis_stock(self):
         s.kurtosis  # price的偏度 (3阶中心距)
         s.pct_change  # price的百分比变化序列
 
-        s.add_func(QA.QA_indicator_CCI)  # 指标计算, 和DataStruct用法一致
\ No newline at end of file
+        s.add_func(QA.QA_indicator_CCI)  # 指标计算, 和DataStruct用法一致
diff --git a/QUANTAXIS_Test/QABacktest_Test/QABacktestSimple_Test.py b/QUANTAXIS_Test/QABacktest_Test/QABacktestSimple_Test.py
index 0f0bbdd14..7b2f3794d 100644
--- a/QUANTAXIS_Test/QABacktest_Test/QABacktestSimple_Test.py
+++ b/QUANTAXIS_Test/QABacktest_Test/QABacktestSimple_Test.py
@@ -1,15 +1,15 @@
 import unittest
 
-import QUANTAXIS as QA
-
 import numpy as np
 import pandas as pd
 
+import QUANTAXIS as QA
+
 
 class QABacktestSimple_Test(unittest.TestCase):
 
     # define the MACD strategy
-    def MACD_JCSC(self,dataframe, SHORT=12, LONG=26, M=9):
+    def MACD_JCSC(self, dataframe, SHORT=12, LONG=26, M=9):
         """
         1.DIF向上突破DEA,买入信号参考。
         2.DIF向下跌破DEA,卖出信号参考。
@@ -26,7 +26,7 @@ def MACD_JCSC(self,dataframe, SHORT=12, LONG=26, M=9):
             {'DIFF': DIFF, 'DEA': DEA, 'MACD': MACD, 'CROSS_JC': CROSS_JC, 'CROSS_SC': CROSS_SC, 'ZERO': ZERO})
 
     def setUp(self):
-        #准备数据
+        # 准备数据
 
         # create account
         self.Account = QA.QA_Account()
@@ -44,8 +44,8 @@ def setUp(self):
         self.ind = self.data.add_func(self.MACD_JCSC)
         # ind.xs('000001',level=1)['2018-01'].plot()
 
-        self.data_forbacktest = self.data.select_time('2018-01-01', '2018-05-20')
-
+        self.data_forbacktest = self.data.select_time(
+            '2018-01-01', '2018-05-20')
 
     def tearDown(self):
 
@@ -54,7 +54,7 @@ def tearDown(self):
         print(self.Account.daily_hold)
 
         # create Risk analysis
-        Risk = QA.QA_Risk( self.Account)
+        Risk = QA.QA_Risk(self.Account)
         print(Risk.message)
         print(Risk.assets)
         Risk.plot_assets_curve()
@@ -67,7 +67,8 @@ def tearDown(self):
         self.Account.save()
         Risk.save()
 
-        account_info = QA.QA_fetch_account({'account_cookie': 'user_admin_macd'})
+        account_info = QA.QA_fetch_account(
+            {'account_cookie': 'user_admin_macd'})
         account = QA.QA_Account().from_message(account_info[0])
         print(account)
 
@@ -93,7 +94,8 @@ def test_simpleQABacktest(self):
                         order = self.Account.send_order(
                             code=item.data.code[0],
                             time=item.data.date[0],
-                            amount=self.Account.sell_available.get(item.code[0], 0),
+                            amount=self.Account.sell_available.get(
+                                item.code[0], 0),
                             towards=QA.ORDER_DIRECTION.SELL,
                             price=0,
                             order_model=QA.ORDER_MODEL.MARKET,
@@ -102,4 +104,3 @@ def test_simpleQABacktest(self):
                         self.Account.receive_deal(self.Broker.receive_order(
                             QA.QA_Event(order=order, market_data=item)))
         self.Account.settle()
-
diff --git a/QUANTAXIS_Test/QABacktest_Test/QABacktest_Test.py b/QUANTAXIS_Test/QABacktest_Test/QABacktest_Test.py
index 0c0429f70..84a19ee69 100644
--- a/QUANTAXIS_Test/QABacktest_Test/QABacktest_Test.py
+++ b/QUANTAXIS_Test/QABacktest_Test/QABacktest_Test.py
@@ -1,19 +1,20 @@
 import unittest
-from QUANTAXIS.QAARP.QARisk import QA_Risk,QA_Performance
-from QUANTAXIS.QAARP.QAUser import QA_User
 
-from QUANTAXIS.QABacktest.QABacktest import QA_Backtest
-from QUANTAXIS.QAARP.QAStrategy import QA_Strategy
-from QUANTAXIS.QAUtil.QAParameter import (AMOUNT_MODEL, MARKET_TYPE, FREQUENCE, ORDER_DIRECTION, ORDER_MODEL,DATASOURCE, OUTPUT_FORMAT)
-
-from QUANTAXIS.QAUtil.QALogs import QA_util_log_info
-from QUANTAXIS.QAUtil.QADate import QA_util_datetime_to_strdate
-from QUANTAXIS import QUANTAXIS as QA
+import pandas as pd
 import tushare as QATs
-from  QUANTAXIS.QAFetch.QATdx import QA_fetch_get_stock_day
-from  QUANTAXIS.QAIndicator import QA_indicator_MA
 
-import pandas as pd
+from QUANTAXIS import QUANTAXIS as QA
+from QUANTAXIS.QAARP.QARisk import QA_Performance, QA_Risk
+from QUANTAXIS.QAARP.QAStrategy import QA_Strategy
+from QUANTAXIS.QAARP.QAUser import QA_User
+from QUANTAXIS.QABacktest.QABacktest import QA_Backtest
+from QUANTAXIS.QAFetch.QATdx import QA_fetch_get_stock_day
+from QUANTAXIS.QAIndicator import QA_indicator_MA
+from QUANTAXIS.QAUtil.QADate import QA_util_datetime_to_strdate
+from QUANTAXIS.QAUtil.QALogs import QA_util_log_info
+from QUANTAXIS.QAUtil.QAParameter import (AMOUNT_MODEL, DATASOURCE, FREQUENCE,
+                                          MARKET_TYPE, ORDER_DIRECTION,
+                                          ORDER_MODEL, OUTPUT_FORMAT)
 
 
 class MAStrategy(QA_Strategy):
@@ -27,23 +28,24 @@ def __init__(self):
         # self.time_to_Market_300439 = QA.QA_util_date_int2str(self.time_to_Market_300439)
         # self.time_to_day = QA_util_datetime_to_strdate(QA.QA_util_date_today())
         # print(self.time_to_Market_300439)
-        #print(self.time_to_day)
+        # print(self.time_to_day)
 
         self.time_to_Market_300439 = '2015-04-22'
         self.time_to_day = '2018-05-01'
 
-        self.df_from_Tdx = QA_fetch_get_stock_day('300439', self.time_to_Market_300439, self.time_to_day, '01')
-        #print(self.df_from_Tdx)
+        self.df_from_Tdx = QA_fetch_get_stock_day(
+            '300439', self.time_to_Market_300439, self.time_to_day, '01')
+        # print(self.df_from_Tdx)
 
         self.ma05 = QA_indicator_MA(self.df_from_Tdx, 5)
         self.ma10 = QA_indicator_MA(self.df_from_Tdx, 10)
         self.ma15 = QA_indicator_MA(self.df_from_Tdx, 15)
         self.ma20 = QA_indicator_MA(self.df_from_Tdx, 20)
-        #print(self.df5)
+        # print(self.df5)
 
     def on_bar(self, event):
-        sellavailable=self.sell_available
-        #try:
+        sellavailable = self.sell_available
+        # try:
         #strDbg = QA.QA_util_random_with_topic("MAStrategy.on_bar call")
         #print(">-----------------------on bar----------------------------->", strDbg)
         for item in event.market_data.code:
@@ -51,57 +53,55 @@ def on_bar(self, event):
             current_date = self.current_time.date()
             #print("on bar 当前日期是:", current_date )
 
-            today_T = pd.Timestamp(current_date);
+            today_T = pd.Timestamp(current_date)
 
             vma05 = self.ma05.at[today_T, 'MA']
             vma10 = self.ma10.at[today_T, 'MA']
             vma15 = self.ma15.at[today_T, 'MA']
             vma20 = self.ma20.at[today_T, 'MA']
 
-
             if vma05 > vma10 and vma10 > vma15 and vma15 > vma20:
-                #print("均线多头排列")
+                # print("均线多头排列")
 
                 if self.sell_available is not None and self.sell_available.get(item, 0) == 0:
-                    print("*>> MAStrategy!on_bar  event.send_order 买入 buy %d"%(100))
+                    print("*>> MAStrategy!on_bar  event.send_order 买入 buy %d" % (100))
                     print(event.send_order)
                     print(type(event.send_order))
                     event.send_order(account_id=self.account_cookie,
-                                 amount=100,
-                                 amount_model=AMOUNT_MODEL.BY_AMOUNT,
-                                 time=self.current_time,
-                                 code=item,
-                                 price=0,
-                                 order_model=ORDER_MODEL.MARKET,
-                                 towards=ORDER_DIRECTION.BUY,
-                                 market_type=self.market_type,
-                                 frequence=self.frequence,
-                                 broker_name=self.broker)
-
+                                     amount=100,
+                                     amount_model=AMOUNT_MODEL.BY_AMOUNT,
+                                     time=self.current_time,
+                                     code=item,
+                                     price=0,
+                                     order_model=ORDER_MODEL.MARKET,
+                                     towards=ORDER_DIRECTION.BUY,
+                                     market_type=self.market_type,
+                                     frequence=self.frequence,
+                                     broker_name=self.broker)
 
             elif vma05 < vma10 and vma10 < vma15 and vma15 < vma20:
-                #print("均线空头排列")
+                # print("均线空头排列")
                 if self.sell_available is not None and self.sell_available.get(item, 0) > 0:
 
-                    print("*>> MAStrategy!on_bar  event.send_order 卖出 buy %d"%100)
+                    print("*>> MAStrategy!on_bar  event.send_order 卖出 buy %d" % 100)
                     event.send_order(account_id=self.account_cookie,
-                                 amount=self.sell_available[item],
-                                 amount_model=AMOUNT_MODEL.BY_AMOUNT,
-                                 time=self.current_time,
-                                 code=item,
-                                 price=0,
-                                 order_model=ORDER_MODEL.MARKET,
-                                 towards=ORDER_DIRECTION.SELL,
-                                 market_type=self.market_type,
-                                 frequence=self.frequence,
-                                 broker_name=self.broker)
+                                     amount=self.sell_available[item],
+                                     amount_model=AMOUNT_MODEL.BY_AMOUNT,
+                                     time=self.current_time,
+                                     code=item,
+                                     price=0,
+                                     order_model=ORDER_MODEL.MARKET,
+                                     towards=ORDER_DIRECTION.SELL,
+                                     market_type=self.market_type,
+                                     frequence=self.frequence,
+                                     broker_name=self.broker)
 
             else:
-                #print("均线交叉中")
+                # print("均线交叉中")
                 pass
         #print("<-----------------------on bar-----------------------------<",strDbg)
                #current_date = self.current_time.date
-    #except:
+    # except:
     #    pass
 
 
@@ -115,17 +115,18 @@ def __init__(self, market_type, frequence, start, end, code_list, commission_fee
 
     def after_success(self):
         QA_util_log_info(self.account.history_table)
-        #check if the history_table is empty list
+        # check if the history_table is empty list
         if len(self.account.history_table) == 0:
-            #没有交易历史记录,直接返回
+            # 没有交易历史记录,直接返回
             return
 
-        risk = QA_Risk(self.account, benchmark_code='000300', benchmark_type=MARKET_TYPE.INDEX_CN)
+        risk = QA_Risk(self.account, benchmark_code='000300',
+                       benchmark_type=MARKET_TYPE.INDEX_CN)
         print(risk().T)
         risk.plot_assets_curve()
         risk.plot_dailyhold()
         risk.plot_signal()
-        performance=QA_Performance(self.account)
+        performance = QA_Performance(self.account)
         performance.plot_pnlmoney(performance.pnl_fifo)
         performance.plot_pnlratio(performance.pnl_fifo)
         self.account.save()
@@ -134,21 +135,20 @@ def after_success(self):
 
 class Test_QABacktest(unittest.TestCase):
 
-
     def testBacktraceTest(self):
         self.run_daybacktest()
         pass
 
     def run_daybacktest(self):
         #import QUANTAXIS as QA
-        #print(QA.QA_fetch_stock_block_adv().code[0:5])
+        # print(QA.QA_fetch_stock_block_adv().code[0:5])
         # self.stock_basics = QATs.get_stock_basics()
         # self.time_to_Market_300439 = self.stock_basics.loc['300439', 'timeToMarket']
         # self.time_to_Market_300439 = QA.QA_util_date_int2str(self.time_to_Market_300439)
         # self.time_to_day = QA_util_datetime_to_strdate(QA.QA_util_date_today())
         # print(self.time_to_Market_300439)
-        #print(self.time_to_day)
-        #QA.QA_util_time_now()
+        # print(self.time_to_day)
+        # QA.QA_util_time_now()
 
         self.time_to_Market_300439 = '2015-04-22'
         self.time_to_day = '2018-05-01'
@@ -166,6 +166,5 @@ def run_daybacktest(self):
         print("结束回测!")
 
 
-
 if __name__ == '__main__':
-    Test_QABacktest().testBacktraceTest()
\ No newline at end of file
+    Test_QABacktest().testBacktraceTest()
diff --git a/QUANTAXIS_Test/QAData_Test/quotation_base_test.py b/QUANTAXIS_Test/QAData_Test/quotation_base_test.py
index d655ed372..c72b2281d 100644
--- a/QUANTAXIS_Test/QAData_Test/quotation_base_test.py
+++ b/QUANTAXIS_Test/QAData_Test/quotation_base_test.py
@@ -1,31 +1,21 @@
-import unittest
 import datetime
+import unittest
 
+import pandas as pd
+
+from QUANTAXIS import QUANTAXIS as QA
 from QUANTAXIS.QAData import (QA_DataStruct_Index_day, QA_DataStruct_Index_min,
                               QA_DataStruct_Stock_block,
                               QA_DataStruct_Stock_day, QA_DataStruct_Stock_min,
                               QA_DataStruct_Stock_transaction)
-from QUANTAXIS.QAFetch.QAQuery import (QA_fetch_index_day,
-                                       QA_fetch_index_min,
-                                       QA_fetch_stock_day,
-                                       QA_fetch_stock_full,
-                                       QA_fetch_stock_min)
-
-
-from QUANTAXIS.QAFetch.QAQuery import (QA_fetch_index_day,
-                                       QA_fetch_index_min,
-                                       QA_fetch_stock_day,
-                                       QA_fetch_stock_full,
+from QUANTAXIS.QAData.base_datastruct import _quotation_base
+from QUANTAXIS.QAFetch.QAQuery import (QA_fetch_index_day, QA_fetch_index_min,
+                                       QA_fetch_stock_day, QA_fetch_stock_full,
                                        QA_fetch_stock_min)
-
 from QUANTAXIS.QAFetch.QAQuery_Advance import QA_fetch_stock_day_adv
-
-import pandas as pd
-from QUANTAXIS.QAData.base_datastruct import _quotation_base
-from QUANTAXIS.QAUtil.QAParameter import FREQUENCE, MARKET_TYPE, DATASOURCE, OUTPUT_FORMAT, DATABASE_TABLE
-
-from QUANTAXIS import QUANTAXIS as QA
-
+from QUANTAXIS.QAUtil.QAParameter import (DATABASE_TABLE, DATASOURCE,
+                                          FREQUENCE, MARKET_TYPE,
+                                          OUTPUT_FORMAT)
 
 
 class quotation_base_test(unittest.TestCase):
@@ -171,4 +161,11 @@ def test_00(self):
     # 🛠todo  测试  loc
     # 🛠todo  测试  iloc#
     # 🛠todo  测试  iloc#
-    # 🛠todo  测试  iloc
\ No newline at end of file
+    # 🛠todo  测试  iloc
+
+
+if __name__ == '__main__':
+
+    t = quotation_base_test()
+    t.setUp()
+    #t.testBacktestBollingerBands()
diff --git a/QUANTAXIS_Test/QAEngine_Test/QAEvent_Test.py b/QUANTAXIS_Test/QAEngine_Test/QAEvent_Test.py
index 29b55d67a..0164c487f 100644
--- a/QUANTAXIS_Test/QAEngine_Test/QAEvent_Test.py
+++ b/QUANTAXIS_Test/QAEngine_Test/QAEvent_Test.py
@@ -3,12 +3,14 @@
 
 import QUANTAXIS as QA
 
+
 """ 
 在这里 我们演示两种方法 
 1. 直接通过QA_Thread 创建一个事件线程做任务
 2. 通过QA_Engine 来创建一个QA_Thread 来分派事件
 """
 
+
 class job(QA.QA_Worker):
     def __init__(self):
         super().__init__()
@@ -31,13 +33,14 @@ def testThread(self):
         engine.start()  # engine 开启
 
         engine.create_kernel('backtest')  # engine创建一个叫 backtest的线程
-        engine.start_kernel ('backtest')  # engine 启动该线程
+        engine.start_kernel('backtest')  # engine 启动该线程
 
         # 创建一个类,继承QA_Worker
         jobx = job()  # 实例化这个类
 
         # 创建一个event
-        event = QA.QA_Event(event_type='selfdesign', message='ssss', callback=print)
+        event = QA.QA_Event(event_type='selfdesign',
+                            message='ssss', callback=print)
 
         # 创建一个标准task
         task = QA.QA_Task(event=event, worker=jobx, engine='backtest')
@@ -51,4 +54,4 @@ def testThread(self):
 
         engine.run_job(task)  # 向engine推送任务
 
-        pass
\ No newline at end of file
+        pass
diff --git a/QUANTAXIS_Test/QAFetch_Test/Fetcher_Test.py b/QUANTAXIS_Test/QAFetch_Test/Fetcher_Test.py
index 61829b789..9b514d2d7 100644
--- a/QUANTAXIS_Test/QAFetch_Test/Fetcher_Test.py
+++ b/QUANTAXIS_Test/QAFetch_Test/Fetcher_Test.py
@@ -9,39 +9,37 @@
 
 import unittest
 
-from QUANTAXIS.QAFetch import QAWind as QAWind
-from QUANTAXIS.QAFetch import QATushare as QATushare
+from QUANTAXIS import QUANTAXIS as QA
+from QUANTAXIS import *
+from QUANTAXIS.QAFetch import QAEastMoney as QAEM
+from QUANTAXIS.QAFetch import QAQuery_Advance as QAQueryAdv
 from QUANTAXIS.QAFetch import QATdx as QATdx
 from QUANTAXIS.QAFetch import QAThs as QAThs
+from QUANTAXIS.QAFetch import QATushare as QATushare
+from QUANTAXIS.QAFetch import QAWind as QAWind
 from QUANTAXIS.QAFetch import QAQuery
-from QUANTAXIS.QAFetch import QAQuery_Advance as QAQueryAdv
-from QUANTAXIS.QAFetch import QAEastMoney as QAEM
-from QUANTAXIS.QAUtil.QAParameter import FREQUENCE, MARKET_TYPE, DATASOURCE, OUTPUT_FORMAT, DATABASE_TABLE
+from QUANTAXIS.QAUtil.QAParameter import (DATABASE_TABLE, DATASOURCE,
+                                          FREQUENCE, MARKET_TYPE,
+                                          OUTPUT_FORMAT)
 from QUANTAXIS.QAUtil.QASql import QA_util_sql_mongo_setting
 
-from QUANTAXIS import QUANTAXIS as QA
-
-
-from QUANTAXIS import *;
-
 
 class Test_Fetcher(unittest.TestCase):
 
     def test_QA_quotation(self):
         #print("ok start test")
         df_from_Tdx = QA_quotation('300439', '2018-04-01', '2018-04-10', frequence=FREQUENCE.DAY,
-                           market=MARKET_TYPE.STOCK_CN, source=DATASOURCE.TDX, output=OUTPUT_FORMAT.DATAFRAME)
+                                   market=MARKET_TYPE.STOCK_CN, source=DATASOURCE.TDX, output=OUTPUT_FORMAT.DATAFRAME)
 
-        #print(type(df_from_Tdx))
+        # print(type(df_from_Tdx))
         print((df_from_Tdx))
 
         list_from_tushare = QA_quotation('300439', '2018-04-01', '2018-04-10', frequence=FREQUENCE.DAY,
-                     market=MARKET_TYPE.STOCK_CN, source=DATASOURCE.TUSHARE, output=OUTPUT_FORMAT.DATAFRAME)
+                                         market=MARKET_TYPE.STOCK_CN, source=DATASOURCE.TUSHARE, output=OUTPUT_FORMAT.DATAFRAME)
 
-        #print(type(list_from_tushare))
+        # print(type(list_from_tushare))
         print((list_from_tushare))
 
-
         for idx_df in df_from_Tdx.index:
             for dict_elem_in_list in list_from_tushare:
 
@@ -49,7 +47,7 @@ def test_QA_quotation(self):
 
                     open_price1 = df_from_Tdx.loc[idx_df, "open"]
                     open_price2 = dict_elem_in_list["open"]
-                    self.assertEqual( open_price1 , open_price2 )
+                    self.assertEqual(open_price1, open_price2)
 
                     close_price1 = df_from_Tdx.loc[idx_df, "close"]
                     close_price2 = dict_elem_in_list["close"]
@@ -67,10 +65,11 @@ def test_QA_quotation(self):
                     vol_price2 = dict_elem_in_list["volume"]
                     self.assertEqual(vol_price1, vol_price2)
 
-            print("数据对比 tushare 和 tdx  日期 %s 数据一致  ❤️"%idx_df)
+            print("数据对比 tushare 和 tdx  日期 %s 数据一致  ❤️" % idx_df)
         print("--------------- ")
 
         pass
 
+
 if __name__ == '__main__':
-    unittest.main()
\ No newline at end of file
+    unittest.main()
diff --git a/QUANTAXIS_Test/QAFetch_Test/QAQuery_Advance_Test.py b/QUANTAXIS_Test/QAFetch_Test/QAQuery_Advance_Test.py
index 74a289219..c19abb9c9 100644
--- a/QUANTAXIS_Test/QAFetch_Test/QAQuery_Advance_Test.py
+++ b/QUANTAXIS_Test/QAFetch_Test/QAQuery_Advance_Test.py
@@ -9,16 +9,17 @@
 
 import unittest
 
+
 import fnmatch
 import os
 
 
-from QUANTAXIS import *;
 import sqlite3
 import tushare as QATs
-#from QUANTAXIS.QASU.main import (QA_SU_save_stock_list)
-from QUANTAXIS.QASU.main import (select_save_engine)
 
+from QUANTAXIS import *
+#from QUANTAXIS.QASU.main import (QA_SU_save_stock_list)
+from QUANTAXIS.QASU.main import select_save_engine
 
 
 class Test_Query_Advance(unittest.TestCase):
@@ -37,7 +38,7 @@ class Test_Query_Advance(unittest.TestCase):
     '''
 
     def setUp(self):
-        #
+
         # mac or linux 可以使用wine 来运行 , 需要指定字符集防止乱码
         # env LC_ALL=zh_CN.UTF-8 wine instjd_1000.exe
         #
@@ -62,6 +63,14 @@ def setUp(self):
                 
         print(" ")
 
+        #self.stock_list = QA_fetch_stock_list_adv()
+        # print(self.stock_list)
+
+        #stock_list_items = [item for item in collections.find()];
+        # if stock_list_items is None:
+        #    print("💢 Error QA_fetch_stock_list_adv return None, maybe the DATABASE.stock_list have no DATA!")
+        #    return None
+
         pass
 
     def tearDown(self):
@@ -69,10 +78,18 @@ def tearDown(self):
         pass
 
     def test_QA_fetch_stock_min_adv(self):
+
         # dataStruct = QA_fetch_stock_min_adv(start='2018-05-28 00:00:00',code = '300439')
         # print("获取1分钟数据")
         # print(dataStruct)
         # #dataStruct.show()
+
+        dataStruct = QA_fetch_stock_min_adv(
+            start='2018-05-28 00:00:00', code='300439')
+        print("获取1分钟数据")
+        print(dataStruct)
+        # dataStruct.show()
+
         pass
 
     def test_001(self):
@@ -81,12 +98,16 @@ def test_001(self):
         # df = QATs.get_stock_basics()
         # print(df)
         # print("-----------------------------------------------------------------------")
+
         #data = QA_fetch_get_stock_list(package = "tdx")
+
+        data = QA_fetch_get_stock_list(package="tdx")
+
         # print(data)
         # print("-----------------------------------------------------------------------")
 
         #engine = select_save_engine(engine="Tushare")
-        #engine.QA_SU_save_stock_list(client=DATABASE)
+        # engine.QA_SU_save_stock_list(client=DATABASE)
 
         # date = str(datetime.date.today())
         # date_stamp = QA_util_date_stamp(date)
@@ -97,5 +118,9 @@ def test_001(self):
         # coll = client.stock_list
         # coll.insert({'date': date, 'date_stamp': date_stamp,
         #              'stock': {'code': data}})
+
         #return list(df.index)
-        pass
\ No newline at end of file
+        pass
+
+
+
diff --git a/QUANTAXIS_Test/QAFetch_Test/QAQuery_Test.py b/QUANTAXIS_Test/QAFetch_Test/QAQuery_Test.py
index 469468d63..2143eac78 100644
--- a/QUANTAXIS_Test/QAFetch_Test/QAQuery_Test.py
+++ b/QUANTAXIS_Test/QAFetch_Test/QAQuery_Test.py
@@ -4,15 +4,16 @@
 from  QUANTAXIS.QAFetch.QAQuery import (QA_fetch_stock_basic_info_tushare, QA_fetch_stock_to_market_date)
 from  QUANTAXIS.QASU.save_to_db_fields_description import quantaxis__db_description
 
+
 class QAQuery_test(unittest.TestCase):
     def test_QA_fetch_stock_basic_info_tusare(self):
         items = QA_fetch_stock_basic_info_tushare()
         print(type(items))
         print(len(items))
         print("查找 半导体 主营的 股票:")
-        #print(items)
+        # print(items)
         for i in items:
-            #print(i)
+            # print(i)
             if i['industry'] == '半导体':
                 print(i)
 
@@ -24,4 +25,4 @@ def test_QA_fetch_stock_to_market_date(self):
 
     def test_quantaxis__db_description(self):
 
-        print(quantaxis__db_description)
\ No newline at end of file
+        print(quantaxis__db_description)
diff --git a/QUANTAXIS_Test/QAFetch_Test/QATdx_Test.py b/QUANTAXIS_Test/QAFetch_Test/QATdx_Test.py
index ca626c432..6fe49f79d 100644
--- a/QUANTAXIS_Test/QAFetch_Test/QATdx_Test.py
+++ b/QUANTAXIS_Test/QAFetch_Test/QATdx_Test.py
@@ -1,18 +1,17 @@
+import datetime
+import os
+import socket
+import struct
+import sys
+import time
 import unittest
-
 import urllib.request
 import zipfile
-import struct
-import time
-import os
-import sys
-import socket
-import pandas as pd
-import datetime
 
+import pandas as pd
 
-from QUANTAXIS.QAFetch import (QATdx );
-from QUANTAXIS.QAUtil import (QADate, QADate_trade );
+from QUANTAXIS.QAFetch import QATdx
+from QUANTAXIS.QAUtil import QADate, QADate_trade
 
 #from QUANTAXIS import *;
 
@@ -23,96 +22,101 @@
 # 对比数据
 #
 
+
 def Schedule(a, b, c):
-#     '''''
-#     a:已经下载的数据块
-#     b:数据块的大小
-#     c:远程文件的大小
-#    '''
-#     per = 100.0 * a * b / c
-#     if per > 100:
-#         per = 100
-#     print
-#     '下载进度%.2f%%' % per
+    #     '''''
+    #     a:已经下载的数据块
+    #     b:数据块的大小
+    #     c:远程文件的大小
+    #    '''
+    #     per = 100.0 * a * b / c
+    #     if per > 100:
+    #         per = 100
+    #     print
+    #     '下载进度%.2f%%' % per
     pass
 
+
 class Test_QA_Fetch(unittest.TestCase):
 
-    #下载最近5天的K线数据
+    # 下载最近5天的K线数据
     def setUp(self):
         print('Get the free stock data from wstock.net ')
-        #获取 下载路径的特殊值
+        # 获取 下载路径的特殊值
         url = "http://www.wstock.net/wstock/inc/wstockV2.js"
-        #print(url)
+        # print(url)
         user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
         req = urllib.request.Request(url, headers={
             'User-Agent': 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
         })
         response = urllib.request.urlopen(req)
         content = response.read()
-        #print(type(content))
-        #print(content)
-        strings = content.decode("utf-8","ignore")
-        string_lines = strings.split("\r\n");
+        # print(type(content))
+        # print(content)
+        strings = content.decode("utf-8", "ignore")
+        string_lines = strings.split("\r\n")
 
         for line in string_lines:
-            #print(type(line))
-            #var M_SHSZ_PATH="4T1IWc2q";
+            # print(type(line))
+            # var M_SHSZ_PATH="4T1IWc2q";
             if line.startswith("var M_SHSZ_PATH"):
                 print(line)
-                variables = line.split("=");
+                variables = line.split("=")
                 string_of_path_v = variables[1]
-                print(string_of_path_v);
-                real_value_password = string_of_path_v.lstrip("\"");
-                real_value_password = real_value_password.rstrip("\";");
-                print(real_value_password);
+                print(string_of_path_v)
+                real_value_password = string_of_path_v.lstrip("\"")
+                real_value_password = real_value_password.rstrip("\";")
+                print(real_value_password)
 
-        #http://www.wstock.net/wstock/download/4T1IWc2q/wss0502r.zip
+        # http://www.wstock.net/wstock/download/4T1IWc2q/wss0502r.zip
         url2 = "http://www.wstock.net/wstock/download/%s/wss%sr.zip"
 
         now = QADate.QA_util_time_now()
-        str_from_today = '%04d-%02d-%02d'%(now.year, now.month, now.day);
+        str_from_today = '%04d-%02d-%02d' % (now.year, now.month, now.day)
 
         toDayIsTradeDay = QADate_trade.QA_util_if_trade(str_from_today)
         nowTimeIsTrading = QADate_trade.QA_util_if_tradetime(now)
 
-        #todo QADate_trade.QA_util_if_before_today_tradetime  返回是否是一天开盘前
-        #todo QADate_trade.QA_util_if_after_today_tradetime   返回是否是一天收盘后
-        _time1 = datetime.datetime.strptime(str(now)[0:19], '%Y-%m-%d %H:%M:%S')
-        if _time1.hour in [0, 1,2,3,4,5,6,7,8,9,10]:
+        # todo QADate_trade.QA_util_if_before_today_tradetime  返回是否是一天开盘前
+        # todo QADate_trade.QA_util_if_after_today_tradetime   返回是否是一天收盘后
+        _time1 = datetime.datetime.strptime(
+            str(now)[0:19], '%Y-%m-%d %H:%M:%S')
+        if _time1.hour in [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
             toDayIsBeforeOpen = True
         else:
             toDayIsBeforeOpen = False
 
         prev_trade_day = ""
         if toDayIsTradeDay == False:
-            prev_trade_day = QADate_trade.QA_util_get_real_date(str_from_today);  # 今天不是交易日,往前移一天
-            print("非交易日,下载前一天交易日 %s" % (prev_trade_day));
+            prev_trade_day = QADate_trade.QA_util_get_real_date(
+                str_from_today)  # 今天不是交易日,往前移一天
+            print("非交易日,下载前一天交易日 %s" % (prev_trade_day))
         elif nowTimeIsTrading == True or toDayIsBeforeOpen == True:
-            prev_trade_day = QADate_trade.QA_util_get_real_date(str_from_today);  # 当天交易时段无法下载今天的数据,往前移一天
-            prev_trade_day = QADate_trade.QA_util_get_last_day(prev_trade_day);
-            print("交易时间,下载前一天交易日 %s" % (prev_trade_day));
+            prev_trade_day = QADate_trade.QA_util_get_real_date(
+                str_from_today)  # 当天交易时段无法下载今天的数据,往前移一天
+            prev_trade_day = QADate_trade.QA_util_get_last_day(prev_trade_day)
+            print("交易时间,下载前一天交易日 %s" % (prev_trade_day))
         else:
-            prev_trade_day = str_from_today;
-            print("下载今天交易日 %s" % (prev_trade_day));
-
+            prev_trade_day = str_from_today
+            print("下载今天交易日 %s" % (prev_trade_day))
 
         self.test_day_k_line_dates = []
         self.test_day_k_line_dad_file_name = []
 
-        dayLeft = 1 # 下载5天之前的数据
+        dayLeft = 1  # 下载5天之前的数据
         while dayLeft > 0:
 
             str_month = prev_trade_day[5:7]
-            str_day   = prev_trade_day[8:10]
-            url_data = "http://www.wstock.net/wstock/download/%s/wss%s%sr.zip" % (real_value_password, str_month, str_day)
-            print(url_data);
+            str_day = prev_trade_day[8:10]
+            url_data = "http://www.wstock.net/wstock/download/%s/wss%s%sr.zip" % (
+                real_value_password, str_month, str_day)
+            print(url_data)
 
-            #下载文件
-            local_file_name = "wss%s%sr.zip"%(str_month,str_day)
-            urllib.request.urlretrieve(url_data, local_file_name,Schedule)
+            # 下载文件
+            local_file_name = "wss%s%sr.zip" % (str_month, str_day)
+            urllib.request.urlretrieve(url_data, local_file_name, Schedule)
 
-            #解压缩文件
+            # 解压缩文件
             zfile = zipfile.ZipFile(local_file_name, 'r')
             for filename in zfile.namelist():
                 data = zfile.read(filename)
@@ -121,19 +125,18 @@ def setUp(self):
                 file.close()
                 self.test_day_k_line_dad_file_name.append(filename)
 
-            strTestDate = "%04d-%s-%s"%(now.year,str_month,str_day);
+            strTestDate = "%04d-%s-%s" % (now.year, str_month, str_day)
             self.test_day_k_line_dates.append(strTestDate)
 
-            #删除zip文件 , 防止误删,暂不实现
+            # 删除zip文件 , 防止误删,暂不实现
 
             prev_trade_day = QADate_trade.QA_util_get_last_day(prev_trade_day)
             dayLeft = dayLeft - 1
             pass
 
-
     def tearDown(self):
         print('tearDown...')
-        #删除dad文件,防止误删,暂不实现
+        # 删除dad文件,防止误删,暂不实现
 
     '''
     /*
@@ -158,38 +161,34 @@ def tearDown(self):
         
    
     '''
-    def extraDataFromDAD(self, local_file_name):
 
+    def extraDataFromDAD(self, local_file_name):
 
-        #解析dad文件
+        # 解析dad文件
         df = pd.DataFrame(columns=["stock_name", "date", "open", "high", "low", "close", "volumn", "turn"],
                           index=["stock_code"])
 
-
         fileDad = open(local_file_name, 'rb', buffering=0)
-        fileDad.seek(0x0, 0x0);
+        fileDad.seek(0x0, 0x0)
         fileAllBytes = fileDad.readall()
         fileDad.close()
 
         #first4Bytes = fileDad.read(0x04);
-        first4Bytes = fileAllBytes[0x00: 0x04];
-
+        first4Bytes = fileAllBytes[0x00: 0x04]
 
         if first4Bytes[0] == 0x8c and first4Bytes[1] == 0x19 and first4Bytes[2] == 0xfc and first4Bytes[3] == 0x33:
 
-
-            #fileDad.seek(0x08);
+            # fileDad.seek(0x08);
             #byteNumberOfStock = fileDad.read(0x04);
 
             byteNumberOfStock = fileAllBytes[0x08:0x08+0x04]
             longNumberOfStock = struct.unpack('<L', byteNumberOfStock)
             print("共有")
-            print(longNumberOfStock);
-
+            print(longNumberOfStock)
 
             for iStockIndex in range(0, longNumberOfStock[0]):
 
-                #修改, fix 没有输出
+                # 修改, fix 没有输出
                 #print('共%d个数据 , 已经读取%d  读取数据中 :%10.8s%s' % (longNumberOfStock[0], iStockIndex, str(iStockIndex / longNumberOfStock[0]), '%'))
 
                 i = round((iStockIndex / longNumberOfStock[0]) * 100.0)
@@ -199,19 +198,20 @@ def extraDataFromDAD(self, local_file_name):
 
                 #fileDad.seek(0x10 + iStockIndex * 4 * 0x10);
                 #aStockData = fileDad.read(0x10 * 4);
-                aStockData = fileAllBytes[0x10 + iStockIndex * 4 * 0x10: 0x10 + iStockIndex * 4 * 0x10 + 0x10 * 4]
+                aStockData = fileAllBytes[0x10 + iStockIndex * 4 *
+                                          0x10: 0x10 + iStockIndex * 4 * 0x10 + 0x10 * 4]
 
                 if aStockData[0] == 0xFF and aStockData[1] == 0xFF and aStockData[2] == 0xFF and aStockData[3] == 0xFF:
 
                     codeNameByte = aStockData[4:0x10]
-                    #print(codeNameByte)
-                    strCodeName = codeNameByte.decode('ascii');
-                    #print(strCodeName);
+                    # print(codeNameByte)
+                    strCodeName = codeNameByte.decode('ascii')
+                    # print(strCodeName);
 
                     stockNameByte = aStockData[0x14: 0x20]
-                    #print(stockNameByte);
-                    strStockName = stockNameByte.decode('gbk');
-                    #print(strStockName);
+                    # print(stockNameByte);
+                    strStockName = stockNameByte.decode('gbk')
+                    # print(strStockName);
 
                     stockTime = aStockData[0x20: 0x24]
                     stockTimeNumber = struct.unpack('<L', stockTime)
@@ -220,81 +220,94 @@ def extraDataFromDAD(self, local_file_name):
                     #dt = time.strftime("%Y-%m-%d %H:%M:%S", time_local)
                     dt = time.strftime("%Y-%m-%d", time_local)
 
-                    #print(dt);
-
-                    i=1
-                    byte_stock_open   = aStockData[0x20+(i * 4): 0x20+((i+1) * 4)];i = 2;
-                    byte_stock_high   = aStockData[0x20+(i * 4): 0x20+((i+1) * 4)];i = 3;
-                    byte_stock_low    = aStockData[0x20+(i * 4): 0x20+((i+1) * 4)];i = 4;
-                    byte_stock_close  = aStockData[0x20+(i * 4): 0x20+((i+1) * 4)];i = 5;
-                    byte_stock_volume = aStockData[0x20+(i * 4): 0x20+((i+1) * 4)];i = 6;
-                    byte_stock_turn   = aStockData[0x20+(i * 4): 0x20+((i+1) * 4)];i = 7;
+                    # print(dt);
+
+                    i = 1
+                    byte_stock_open = aStockData[0x20 +
+                                                 (i * 4): 0x20+((i+1) * 4)]
+                    i = 2
+                    byte_stock_high = aStockData[0x20 +
+                                                 (i * 4): 0x20+((i+1) * 4)]
+                    i = 3
+                    byte_stock_low = aStockData[0x20+(i * 4): 0x20+((i+1) * 4)]
+                    i = 4
+                    byte_stock_close = aStockData[0x20 +
+                                                  (i * 4): 0x20+((i+1) * 4)]
+                    i = 5
+                    byte_stock_volume = aStockData[0x20 +
+                                                   (i * 4): 0x20+((i+1) * 4)]
+                    i = 6
+                    byte_stock_turn = aStockData[0x20 +
+                                                 (i * 4): 0x20+((i+1) * 4)]
+                    i = 7
 
                     v1 = struct.unpack('<f', byte_stock_open)
-                    stock_open = v1[0];
+                    stock_open = v1[0]
 
                     v1 = struct.unpack('<f', byte_stock_close)
-                    stock_close = v1[0];
+                    stock_close = v1[0]
 
                     v1 = struct.unpack('<f', byte_stock_low)
-                    stock_low = v1[0];
+                    stock_low = v1[0]
 
                     v1 = struct.unpack('<f', byte_stock_high)
-                    stock_high = v1[0];
+                    stock_high = v1[0]
 
                     v1 = struct.unpack('<f', byte_stock_volume)
-                    stock_volume = v1[0];
+                    stock_volume = v1[0]
 
                     v1 = struct.unpack('<f', byte_stock_turn)
-                    stock_turn = v1[0];
+                    stock_turn = v1[0]
 
                     #print("%f %f %f %f %f %f "%(stock_open, stock_close, stock_high,stock_low, stock_volume, stock_turn))
-                    #print("------")
+                    # print("------")
 
                     df.index.astype(str)
-                    df.loc[strCodeName[0:8]] = [strStockName, dt, stock_open, stock_high, stock_low, stock_close, stock_volume, stock_turn]
+                    df.loc[strCodeName[0:8]] = [strStockName, dt, stock_open,
+                                                stock_high, stock_low, stock_close, stock_volume, stock_turn]
 
         return df
 
     def test_QA_fetch_get_stock_day(self):
 
+        # 读取 dad 日线数据
+        df_from_dad = self.extraDataFromDAD(
+            self.test_day_k_line_dad_file_name[0])
 
-        #读取 dad 日线数据
-        df_from_dad = self.extraDataFromDAD(self.test_day_k_line_dad_file_name[0])
-
-        df_from_tdx = QATdx.QA_fetch_get_stock_day(code="600000",start_date= self.test_day_k_line_dates[0], end_date = self.test_day_k_line_dates[0])
+        df_from_tdx = QATdx.QA_fetch_get_stock_day(
+            code="600000", start_date=self.test_day_k_line_dates[0], end_date=self.test_day_k_line_dates[0])
         for idx_from_df_tdx in df_from_tdx.index:
 
             print(idx_from_df_tdx)
 
-            #for idx_from_df_dad in df_from_dad.index:
+            # for idx_from_df_dad in df_from_dad.index:
 
-            open_price1  = df_from_tdx.loc[idx_from_df_tdx, "open"]
+            open_price1 = df_from_tdx.loc[idx_from_df_tdx, "open"]
             close_price1 = df_from_tdx.loc[idx_from_df_tdx, "close"]
-            high_price1  = df_from_tdx.loc[idx_from_df_tdx, "high"]
-            low_price1   = df_from_tdx.loc[idx_from_df_tdx, "low"]
-            volume1      = df_from_tdx.loc[idx_from_df_tdx, "vol"]
-            amount1      = df_from_tdx.loc[idx_from_df_tdx, "amount"]
-            date1        = df_from_tdx.loc[idx_from_df_tdx, "date"]
+            high_price1 = df_from_tdx.loc[idx_from_df_tdx, "high"]
+            low_price1 = df_from_tdx.loc[idx_from_df_tdx, "low"]
+            volume1 = df_from_tdx.loc[idx_from_df_tdx, "vol"]
+            amount1 = df_from_tdx.loc[idx_from_df_tdx, "amount"]
+            date1 = df_from_tdx.loc[idx_from_df_tdx, "date"]
 
-            #fix here 构造和 QA_fetch_get_stock_day 返回一样类型的 dataframe 直接比较
+            # fix here 构造和 QA_fetch_get_stock_day 返回一样类型的 dataframe 直接比较
 
-            open_price2  = df_from_dad.loc["SH600000", "open"]
+            open_price2 = df_from_dad.loc["SH600000", "open"]
             close_price2 = df_from_dad.loc["SH600000", "close"]
-            high_price2  = df_from_dad.loc["SH600000", "high"]
-            low_price2   = df_from_dad.loc["SH600000", "low"]
-            volume2      = df_from_dad.loc["SH600000", "volumn"]
-            amount2      = df_from_dad.loc["SH600000", "turn"]
-            date2        = df_from_dad.loc["SH600000", "date"]
-
-            self.assertEqual( open_price1  , round(open_price2,2)  )
-            self.assertEqual( close_price1 , round(close_price2,2) )
-            self.assertEqual( high_price1  , round(high_price2,2)  )
-            self.assertEqual( low_price1   , round(low_price2,2)   )
+            high_price2 = df_from_dad.loc["SH600000", "high"]
+            low_price2 = df_from_dad.loc["SH600000", "low"]
+            volume2 = df_from_dad.loc["SH600000", "volumn"]
+            amount2 = df_from_dad.loc["SH600000", "turn"]
+            date2 = df_from_dad.loc["SH600000", "date"]
+
+            self.assertEqual(open_price1, round(open_price2, 2))
+            self.assertEqual(close_price1, round(close_price2, 2))
+            self.assertEqual(high_price1, round(high_price2, 2))
+            self.assertEqual(low_price1, round(low_price2, 2))
             # 成交量和成交额 总是有误差 ??
             #self.assertEqual( volume1 , volume2 )
             #self.assertEqual( amount1 , amount2)
-            self.assertEqual( date1 , date2 )
+            self.assertEqual(date1, date2)
 
         df_from_tdx = QATdx.QA_fetch_get_stock_day(code="300439", start_date=self.test_day_k_line_dates[0],
                                                    end_date=self.test_day_k_line_dates[0])
@@ -302,22 +315,22 @@ def test_QA_fetch_get_stock_day(self):
             print(idx_from_df_tdx)
 
             # for idx_from_df_dad in df_from_dad.index:
-            open_price1  = df_from_tdx.loc[idx_from_df_tdx, "open"]
+            open_price1 = df_from_tdx.loc[idx_from_df_tdx, "open"]
             close_price1 = df_from_tdx.loc[idx_from_df_tdx, "close"]
-            high_price1  = df_from_tdx.loc[idx_from_df_tdx, "high"]
-            low_price1   = df_from_tdx.loc[idx_from_df_tdx, "low"]
-            volume1      = df_from_tdx.loc[idx_from_df_tdx, "vol"]
-            amount1      = df_from_tdx.loc[idx_from_df_tdx, "amount"]
-            date1        = df_from_tdx.loc[idx_from_df_tdx, "date"]
+            high_price1 = df_from_tdx.loc[idx_from_df_tdx, "high"]
+            low_price1 = df_from_tdx.loc[idx_from_df_tdx, "low"]
+            volume1 = df_from_tdx.loc[idx_from_df_tdx, "vol"]
+            amount1 = df_from_tdx.loc[idx_from_df_tdx, "amount"]
+            date1 = df_from_tdx.loc[idx_from_df_tdx, "date"]
 
             # fix here 构造和 QA_fetch_get_stock_day 返回一样类型的 dataframe 直接比较
-            open_price2  = df_from_dad.loc["SZ300439", "open"]
+            open_price2 = df_from_dad.loc["SZ300439", "open"]
             close_price2 = df_from_dad.loc["SZ300439", "close"]
-            high_price2  = df_from_dad.loc["SZ300439", "high"]
-            low_price2   = df_from_dad.loc["SZ300439", "low"]
-            volume2      = df_from_dad.loc["SZ300439", "volumn"]
-            amount2      = df_from_dad.loc["SZ300439", "turn"]
-            date2        = df_from_dad.loc["SZ300439", "date"]
+            high_price2 = df_from_dad.loc["SZ300439", "high"]
+            low_price2 = df_from_dad.loc["SZ300439", "low"]
+            volume2 = df_from_dad.loc["SZ300439", "volumn"]
+            amount2 = df_from_dad.loc["SZ300439", "turn"]
+            date2 = df_from_dad.loc["SZ300439", "date"]
 
             self.assertEqual(open_price1, round(open_price2, 2))
             self.assertEqual(close_price1, round(close_price2, 2))
@@ -328,8 +341,8 @@ def test_QA_fetch_get_stock_day(self):
             # self.assertEqual( amount1 , amount2)
             self.assertEqual(date1, date2)
 
-            #print(idx_from_df_dad)
+            # print(idx_from_df_dad)
             #print(type(open_price1), type(close_price1) ,type(high_price1), type(low_price1), type(volume1), type(amount1), type(date1))
         pass
 
-    pass
\ No newline at end of file
+    pass
diff --git a/QUANTAXIS_Test/QAMarket_Test/QA_Order_Test.py b/QUANTAXIS_Test/QAMarket_Test/QA_Order_Test.py
index c13d1fbd0..1bb2c17c2 100644
--- a/QUANTAXIS_Test/QAMarket_Test/QA_Order_Test.py
+++ b/QUANTAXIS_Test/QAMarket_Test/QA_Order_Test.py
@@ -12,4 +12,3 @@ def tearDown(self):
 
     def testQAOrder(self):
         print(" test QAOrder !")
-
diff --git a/QUANTAXIS_Test/QAUtil_Test/QADate_trade_Test.py b/QUANTAXIS_Test/QAUtil_Test/QADate_trade_Test.py
index 018c7b4ec..880a46cbb 100644
--- a/QUANTAXIS_Test/QAUtil_Test/QADate_trade_Test.py
+++ b/QUANTAXIS_Test/QAUtil_Test/QADate_trade_Test.py
@@ -1,20 +1,18 @@
 import datetime
 import unittest
 
-
-from QUANTAXIS.QAFetch import (QATdx );
-from QUANTAXIS.QAUtil import (QADate, QADate_trade );
+from QUANTAXIS.QAFetch import QATdx
+from QUANTAXIS.QAUtil import QADate, QADate_trade
 
 
 class Test_QA_Date_trade(unittest.TestCase):
     def test_QA_util_if_trade(self):
 
-
         now = QADate.QA_util_time_now()
         str_from_today = '%04d-%02d-%02d' % (now.year, now.month, now.day)
 
         nDayLeft = 1000
-        while nDayLeft>0:
+        while nDayLeft > 0:
 
             toDayIsTradeDay = QADate_trade.QA_util_if_trade(str_from_today)
             realTradeDay = QADate_trade.QA_util_get_real_date(str_from_today)
@@ -22,13 +20,15 @@ def test_QA_util_if_trade(self):
             QADate.QA_util_date_valid(realTradeDay)
 
             if toDayIsTradeDay == False:
-                prev_trade_day = QADate_trade.QA_util_get_last_day(str_from_today,-1)
-                realTradeDay = QADate_trade.QA_util_get_real_date(prev_trade_day)
-                self.assertEquals(realTradeDay , toDayIsTradeDay)
+                prev_trade_day = QADate_trade.QA_util_get_last_day(
+                    str_from_today, -1)
+                realTradeDay = QADate_trade.QA_util_get_real_date(
+                    prev_trade_day)
+                self.assertEquals(realTradeDay, toDayIsTradeDay)
             else:
-                self.assertEquals(realTradeDay , realTradeDay)
+                self.assertEquals(realTradeDay, realTradeDay)
 
             str_from_today = QADate_trade.QA_util_get_last_day(str_from_today)
             nDayLeft = nDayLeft - 1
 
-        print("okok")
\ No newline at end of file
+        print("okok")
diff --git a/QUANTAXIS_Test/QAUtil_Test/QATest_None.py b/QUANTAXIS_Test/QAUtil_Test/QATest_None.py
index ba8f0b395..c42eea8da 100644
--- a/QUANTAXIS_Test/QAUtil_Test/QATest_None.py
+++ b/QUANTAXIS_Test/QAUtil_Test/QATest_None.py
@@ -1,22 +1,24 @@
-import unittest
-
-import sys
-import time
 import datetime
 import random
+import sys
+import time
+import unittest
 
-#from QUANTAXIS.QAFetch import (QATdx );
-from QUANTAXIS.QAUtil import (QADate, QADate_trade );
-
+import matplotlib as mpl
 #from pandas import Series
 import pandas as pd
-import matplotlib as mpl
 
-#学习 lru_cache
+#from QUANTAXIS.QAFetch import (QATdx );
+from QUANTAXIS.QAUtil import QADate, QADate_trade
+
+# 学习 lru_cache
+
+
 class MyCache:
     '''
 
     '''
+
     def __init__(self):
         '''constructor'''
         self.cache = {}
@@ -39,7 +41,8 @@ def update(self, key, value):
         '''
         if key not in self.cache and len(self.cache) >= self.max_cache_size:
             self.remove_oldest()
-        self.cache[key] = { 'date_accessed': datetime.datetime.now(), 'value': value}
+        self.cache[key] = {
+            'date_accessed': datetime.datetime.now(), 'value': value}
 
     def remove_oldest(self):
         """
@@ -50,10 +53,10 @@ def remove_oldest(self):
         for key in self.cache:
             if oldest_entry == None:
                 oldest_entry = key
-                print('assign oldest_entry key',oldest_entry)
+                print('assign oldest_entry key', oldest_entry)
             elif self.cache[key]['date_accessed'] < self.cache[oldest_entry]['date_accessed']:
                 oldest_entry = key
-                print('delete oles key',oldest_entry)
+                print('delete oles key', oldest_entry)
 
         self.cache.pop(oldest_entry)
 
@@ -65,12 +68,11 @@ def size(self):
         return len(self.cache)
 
 
-
 class Test_QA_None(unittest.TestCase):
 
     def test_LRU(self):
         # 测试缓存
-        keys = ['test', 'red', 'fox', 'fence', 'junk', \
+        keys = ['test', 'red', 'fox', 'fence', 'junk',
                 'other7', 'alpha8', 'bravo9', 'cal10', 'devo11', 'ele12',
                 'other1', 'alpha2', 'bravo3', 'cal4', 'devo5', 'ele6',
                 ]
@@ -85,11 +87,10 @@ def test_LRU(self):
             print("#%s iterations, #%s cached entries" % (i + 1, cache.size))
         pass
 
-
-    def fab(self,max):
+    def fab(self, max):
         n, a, b = 0, 0, 1
         while n < max:
-            print (b)
+            print(b)
             a, b = b, a + b
             n = n + 1
 
@@ -99,10 +100,9 @@ def test_Generator(self):
     def test_None(self):
 
         print("----------------------------")
-        obj = pd.Series([3,4,-2,2])
+        obj = pd.Series([3, 4, -2, 2])
         print(obj)
 
-
         pd.Series([1, 23, 4]).plot()
 
         #now = QADate.QA_util_time_now()
@@ -120,26 +120,25 @@ def test_None(self):
         #     sys.stdout.flush()
         # pass
 
-
     def test_make_Series(self):
-        #demo the series
-        obj = pd.Series([1,2,3,4])
+        # demo the series
+        obj = pd.Series([1, 2, 3, 4])
         print(obj.index)
         print(obj.values)
         print("-------------------------------------------")
-        obj2 = pd.Series([1,2,3,4], index=['a','b','c','d'])
+        obj2 = pd.Series([1, 2, 3, 4], index=['a', 'b', 'c', 'd'])
         print(obj2)
         print(obj2.index)
         print(obj2.values)
         print("-------------------------------------------")
         # another way to think about a Series is as a fixed-length, ordered dict, as it is a mapping of index value to data values.
         # it can be substituted into many functions that expect a dict
-        sdata = { 'Ohio': 3000, 'Texas': 71000, 'Oregon': 1600, 'Utah': 5000}
+        sdata = {'Ohio': 3000, 'Texas': 71000, 'Oregon': 1600, 'Utah': 5000}
         obj4 = pd.Series(sdata)
         print(obj4)
         print("-------------------------------------------")
         state = ['California', 'Ohio', 'Oregon', 'Taxes']
-        obj4 = pd.Series(sdata, index = state)
+        obj4 = pd.Series(sdata, index=state)
         print(obj4)
         print("-------------------------------------------")
         print(pd.isnull(obj4))
@@ -147,9 +146,9 @@ def test_make_Series(self):
         print(pd.notnull(obj4))
         print("-------------------------------------------")
 
-        obj_01 = pd.Series([1,2,3,4])
-        obj_o2 = pd.Series([11,22,33,44], index=['aa','bb','cc','dd'])
-        obj_03 = pd.Series([55,66,77,88], index=['bb','cc','dd','ee'])
+        obj_01 = pd.Series([1, 2, 3, 4])
+        obj_o2 = pd.Series([11, 22, 33, 44], index=['aa', 'bb', 'cc', 'dd'])
+        obj_03 = pd.Series([55, 66, 77, 88], index=['bb', 'cc', 'dd', 'ee'])
         print(obj_01)
         print(obj_o2)
         print("-------------------------------------------")
@@ -157,20 +156,20 @@ def test_make_Series(self):
         print("-------------------------------------------")
         print(obj_o2 + obj_03)
 
-
     def test_make_dataframe(self):
         # the dataframe has both a row and column index
         dict_data = {
             'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada'],
             'year': [2000, 2001, 2002, 2001, 2002],
-            'pop': [1.4,1.7,3.6,2.4,2.9]
+            'pop': [1.4, 1.7, 3.6, 2.4, 2.9]
         }
 
         frame = pd.DataFrame(dict_data)
         print(frame)
         print("-------------------------------------------")
 
-        frame2 = pd.DataFrame(dict_data, columns=['year','state','pop', 'area'])
+        frame2 = pd.DataFrame(dict_data, columns=[
+                              'year', 'state', 'pop', 'area'])
         print(frame2)
         print("-------------------------------------------")
 
@@ -189,8 +188,7 @@ def test_make_dataframe(self):
         print(frame2.T)
         print("-------------------------------------------")
 
-        pop = { 'Nevada' : {2001: 2.4, 2002: 2.9}, "Ohio": {2000: 1.4,2000: 1.7, 2002: 3.4}}
+        pop = {'Nevada': {2001: 2.4, 2002: 2.9},
+               "Ohio": {2000: 1.4, 2000: 1.7, 2002: 3.4}}
         frame3 = pd.DataFrame(pop)
         print(frame3)
-
-        
diff --git a/QUANTAXIS_Test/QAUtil_Test/QATester_nothing.py b/QUANTAXIS_Test/QAUtil_Test/QATester_nothing.py
index 677737cf5..d8ed51486 100644
--- a/QUANTAXIS_Test/QAUtil_Test/QATester_nothing.py
+++ b/QUANTAXIS_Test/QAUtil_Test/QATester_nothing.py
@@ -1,13 +1,12 @@
+import datetime
+import struct
+import time
 import unittest
-
 #from urllib import request
 import urllib
 import urllib.request
-import datetime;
-import struct;
-import time
-import pandas as pd
 
+import pandas as pd
 
 #from QUANTAXIS import QUANTAXIS as QA
 
@@ -33,6 +32,8 @@
     字节串转16进制表示,固定两个字符表示: str(binascii.b2a_hex(b'\x01\x0212'))[2:-1]  ==>  01023132
     字节串转16进制数组: [hex(x) for x in bytes(b'\x01\x0212')]  ==>  ['0x1', '0x2', '0x31', '0x32']
 '''
+
+
 class QA_Test(unittest.TestCase):
     def setUp(self):
         today = datetime.date.today()
@@ -40,7 +41,7 @@ def setUp(self):
         print(today.year)
         print(today.month)
         print(today.day)
-        str = "%04d-%02d-%02d"%(today.year,today.month,today.day)
+        str = "%04d-%02d-%02d" % (today.year, today.month, today.day)
         print(str)
 
         pass
@@ -59,27 +60,27 @@ def nottest_QA(self):
                           index=["code"])
 
         if first4Bytes[0] == 0x8c and first4Bytes[1] == 0x19 and first4Bytes[2] == 0xfc and first4Bytes[3] == 0x33:
-            fileDad.seek(0x08);
-            byteNumberOfStock = fileDad.read(0x04);
+            fileDad.seek(0x08)
+            byteNumberOfStock = fileDad.read(0x04)
             longNumberOfStock = struct.unpack('<L', byteNumberOfStock)
-            #print(longNumberOfStock);
+            # print(longNumberOfStock);
 
             for iStockIndex in range(0, longNumberOfStock[0]):
-                fileDad.seek(0x10 + iStockIndex * 4 * 0x10);
+                fileDad.seek(0x10 + iStockIndex * 4 * 0x10)
 
-                aStockData = fileDad.read(0x10 * 4);
+                aStockData = fileDad.read(0x10 * 4)
 
                 if aStockData[0] == 0xFF and aStockData[1] == 0xFF and aStockData[2] == 0xFF and aStockData[3] == 0xFF:
 
                     codeNameByte = aStockData[4:0x10]
-                    #print(codeNameByte)
-                    strCodeName = codeNameByte.decode('gbk');
-                    #print(strCodeName);
+                    # print(codeNameByte)
+                    strCodeName = codeNameByte.decode('gbk')
+                    # print(strCodeName);
 
                     stockNameByte = aStockData[0x14: 0x20]
-                    #print(stockNameByte);
-                    strStockName = stockNameByte.decode('gbk');
-                    #print(strStockName);
+                    # print(stockNameByte);
+                    strStockName = stockNameByte.decode('gbk')
+                    # print(strStockName);
 
                     stockTime = aStockData[0x20: 0x24]
                     stockTimeNumber = struct.unpack('<L', stockTime)
@@ -88,49 +89,60 @@ def nottest_QA(self):
                     #dt = time.strftime("%Y-%m-%d %H:%M:%S", time_local)
                     dt = time.strftime("%Y-%m-%d", time_local)
 
-                    #print(dt);
-
-                    i=1
-                    byte_stock_open   = aStockData[0x20+(i * 4): 0x20+((i+1) * 4)];i = 2;
-                    byte_stock_close  = aStockData[0x20+(i * 4): 0x20+((i+1) * 4)];i = 3;
-                    byte_stock_low    = aStockData[0x20+(i * 4): 0x20+((i+1) * 4)];i = 4;
-                    byte_stock_high   = aStockData[0x20+(i * 4): 0x20+((i+1) * 4)];i = 5;
-                    byte_stock_volume = aStockData[0x20+(i * 4): 0x20+((i+1) * 4)];i = 6;
-                    byte_stock_turn   = aStockData[0x20+(i * 4): 0x20+((i+1) * 4)];i = 7;
+                    # print(dt);
+
+                    i = 1
+                    byte_stock_open = aStockData[0x20 +
+                                                 (i * 4): 0x20+((i+1) * 4)]
+                    i = 2
+                    byte_stock_close = aStockData[0x20 +
+                                                  (i * 4): 0x20+((i+1) * 4)]
+                    i = 3
+                    byte_stock_low = aStockData[0x20+(i * 4): 0x20+((i+1) * 4)]
+                    i = 4
+                    byte_stock_high = aStockData[0x20 +
+                                                 (i * 4): 0x20+((i+1) * 4)]
+                    i = 5
+                    byte_stock_volume = aStockData[0x20 +
+                                                   (i * 4): 0x20+((i+1) * 4)]
+                    i = 6
+                    byte_stock_turn = aStockData[0x20 +
+                                                 (i * 4): 0x20+((i+1) * 4)]
+                    i = 7
 
                     v1 = struct.unpack('<f', byte_stock_open)
-                    stock_open = v1[0];
+                    stock_open = v1[0]
 
                     v1 = struct.unpack('<f', byte_stock_close)
-                    stock_close = v1[0];
+                    stock_close = v1[0]
 
                     v1 = struct.unpack('<f', byte_stock_low)
-                    stock_low = v1[0];
+                    stock_low = v1[0]
 
                     v1 = struct.unpack('<f', byte_stock_high)
-                    stock_high = v1[0];
+                    stock_high = v1[0]
 
                     v1 = struct.unpack('<f', byte_stock_volume)
-                    stock_volume = v1[0];
+                    stock_volume = v1[0]
 
                     v1 = struct.unpack('<f', byte_stock_turn)
-                    stock_turn = v1[0];
+                    stock_turn = v1[0]
 
                     #print("%f %f %f %f %f %f "%(stock_open, stock_close, stock_high,stock_low, stock_volume, stock_turn))
-                    #print("------")
+                    # print("------")
 
                     df.index.astype(str)
 
-                    df.loc[strCodeName] = [strStockName, dt, stock_open, stock_close, stock_low, stock_high, stock_volume, stock_turn]
+                    df.loc[strCodeName] = [strStockName, dt, stock_open,
+                                           stock_close, stock_low, stock_high, stock_volume, stock_turn]
 
                     pass
                 pass
 
         fileDad.close()
 
-
         print(df)
 
-        return df;
+        return df
 
-    pass
\ No newline at end of file
+    pass