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)
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)
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()
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)
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)