コード例 #1
0
    def test__fill_today_bars(self, mock_tushare, mock_is_holiday):
        data_list = [[u'09:33:45', 9.10, 100, 2000, 0.01],
                     [u'09:33:20', 9.20, 100, 2000, 0.01],
                     [u'09:33:00', 9.30, 100, 2000, 0.01],
                     [u'09:32:59', 9.40, 100, 10, 0.01],
                     [u'09:32:45', 9.01, 100, 100, 0.01],
                     [u'09:32:13', 9.02, 300, 1000, 0.01],
                     [u'09:31:58', 9.03, 300, 2000, 0.01],
                     [u'09:31:43', 8.94, 500, 2000, 0.01]
                     ]
        columns = ['time', 'price', 'volume', 'amount', 'change']
        df = DataFrame(data_list, columns=columns)

        mock_tushare.get_today_ticks.return_value = df

        mock_is_holiday.return_value = False

        liveFeed = TuShareLiveFeed(['000581'], 60, dataseries.DEFAULT_MAX_LEN, 0)
        #liveFeed.start()

        bars = liveFeed.getNextBars()
        self.assertEqual(bars['000581'].getHigh(), 9.03)
        self.assertEqual(bars['000581'].getVolume(), 800)

        bars = liveFeed.getNextBars()
        self.assertEqual(bars['000581'].getClose(), 9.40)
        self.assertEqual(bars['000581'].getAmount(), 1110)
        self.assertEqual(bars['000581'].getDateTime().strftime("%H:%M:%S"), "09:32:00")

        bars = liveFeed.getNextBars()
        self.assertEqual(bars['000581'].getOpen(), 9.30)
コード例 #2
0
    def test__fill_today_bars(self, mock_tushare, mock_is_holiday):
        data_list = [[u'09:33:45', 9.10, 100, 2000, 0.01],
                     [u'09:33:20', 9.20, 100, 2000, 0.01],
                     [u'09:33:00', 9.30, 100, 2000, 0.01],
                     [u'09:32:59', 9.40, 100, 10, 0.01],
                     [u'09:32:45', 9.01, 100, 100, 0.01],
                     [u'09:32:13', 9.02, 300, 1000, 0.01],
                     [u'09:31:58', 9.03, 300, 2000, 0.01],
                     [u'09:31:43', 8.94, 500, 2000, 0.01]]
        columns = ['time', 'price', 'volume', 'amount', 'change']
        df = DataFrame(data_list, columns=columns)

        mock_tushare.get_today_ticks.return_value = df

        mock_is_holiday.return_value = False

        liveFeed = TuShareLiveFeed(['000581'], 60, dataseries.DEFAULT_MAX_LEN,
                                   0)
        #liveFeed.start()

        bars = liveFeed.getNextBars()
        self.assertEqual(bars['000581'].getHigh(), 9.03)
        self.assertEqual(bars['000581'].getVolume(), 800)

        bars = liveFeed.getNextBars()
        self.assertEqual(bars['000581'].getClose(), 9.40)
        self.assertEqual(bars['000581'].getAmount(), 1110)
        self.assertEqual(bars['000581'].getDateTime().strftime("%H:%M:%S"),
                         "09:32:00")

        bars = liveFeed.getNextBars()
        self.assertEqual(bars['000581'].getOpen(), 9.30)
コード例 #3
0
def runStratOnTushare(strat, paras, security_id, market, frequency):    
    from pyalgotrade.tushare.barfeed import TuShareLiveFeed
    liveFeed = TuShareLiveFeed([security_id], frequency, 1024, 20)

    strat = strat(liveFeed, security_id, *paras)
        
    strat.run()
コード例 #4
0
    def test__fill_history_bars(self, mock_tushare, mock_days, mock_is_holiday):
        data_list = [[u'09:33:45', 9.10, 100, 2000, 0.01],
                     [u'09:33:20', 9.20, 100, 2000, 0.01],
                     [u'09:33:00', 9.30, 100, 2000, 0.01],
                     [u'09:32:59', 9.40, 100, 10, 0.01],
                     [u'09:32:45', 9.01, 100, 100, 0.01],
                     [u'09:32:13', 9.02, 300, 1000, 0.01],
                     [u'09:31:58', 9.03, 300, 2000, 0.01],
                     [u'09:31:43', 8.94, 500, 2000, 0.01]
                     ]

        day1_data_list = [[u'11:00:58', 9.03, 300, 2000, 0.01],
                          [u'11:00:43', 8.94, 500, 2000, 0.01]
                          ]
        columns = ['time', 'price', 'volume', 'amount', 'change']

        df = DataFrame(data_list, columns=columns)
        mock_tushare.get_today_ticks.return_value = df

        day1_df = DataFrame(day1_data_list, columns=columns)

        day2_data_list = [[u'10:33:45', 9.10, 100, 2000, 0.01],
                          [u'10:33:20', 9.20, 100, 2000, 0.01],
                          [u'10:33:00', 9.30, 100, 2000, 0.01]
                          ]
        day2_df = DataFrame(day2_data_list, columns=columns)

        mock_tushare.get_tick_data.return_value = day2_df
        mock_is_holiday.return_value = False

        import datetime
        day1 = datetime.datetime(2015, 8, 8)
        mock_days.return_value = [day1]

        liveFeed = TuShareLiveFeed(['000581'], 60, dataseries.DEFAULT_MAX_LEN, 1)

        bars = liveFeed.getNextBars()
        self.assertEqual(bars['000581'].getHigh(), 9.30)
        self.assertEqual(bars['000581'].getVolume(), 300)

        bars = liveFeed.getNextBars()
        self.assertEqual(bars['000581'].getOpen(), 8.94)
        self.assertEqual(bars['000581'].getVolume(), 800)
コード例 #5
0
    def test__fill_history_bars(self, mock_tushare, mock_days,
                                mock_is_holiday):
        data_list = [[u'09:33:45', 9.10, 100, 2000, 0.01],
                     [u'09:33:20', 9.20, 100, 2000, 0.01],
                     [u'09:33:00', 9.30, 100, 2000, 0.01],
                     [u'09:32:59', 9.40, 100, 10, 0.01],
                     [u'09:32:45', 9.01, 100, 100, 0.01],
                     [u'09:32:13', 9.02, 300, 1000, 0.01],
                     [u'09:31:58', 9.03, 300, 2000, 0.01],
                     [u'09:31:43', 8.94, 500, 2000, 0.01]]

        day1_data_list = [[u'11:00:58', 9.03, 300, 2000, 0.01],
                          [u'11:00:43', 8.94, 500, 2000, 0.01]]
        columns = ['time', 'price', 'volume', 'amount', 'change']

        df = DataFrame(data_list, columns=columns)
        mock_tushare.get_today_ticks.return_value = df

        day1_df = DataFrame(day1_data_list, columns=columns)

        day2_data_list = [[u'10:33:45', 9.10, 100, 2000, 0.01],
                          [u'10:33:20', 9.20, 100, 2000, 0.01],
                          [u'10:33:00', 9.30, 100, 2000, 0.01]]
        day2_df = DataFrame(day2_data_list, columns=columns)

        mock_tushare.get_tick_data.return_value = day2_df
        mock_is_holiday.return_value = False

        import datetime
        day1 = datetime.datetime(2015, 8, 8)
        mock_days.return_value = [day1]

        liveFeed = TuShareLiveFeed(['000581'], 60, dataseries.DEFAULT_MAX_LEN,
                                   1)

        bars = liveFeed.getNextBars()
        self.assertEqual(bars['000581'].getHigh(), 9.30)
        self.assertEqual(bars['000581'].getVolume(), 300)

        bars = liveFeed.getNextBars()
        self.assertEqual(bars['000581'].getOpen(), 8.94)
        self.assertEqual(bars['000581'].getVolume(), 800)