|
50鱼币
本帖最后由 jensonl 于 2018-3-2 16:42 编辑
- def init(context):
- subscribe(symbols=symbol, frequency='tick')
复制代码
上面是我订阅了一组数据。
其中 symbol 里面我打包了很多个字符串列表。
然后这个subscribe() 会每秒传给我,每个字符串对应的数据组。
其中symbol:SHSE.600618 这个是一个标签。 当然也有 symbol:SHSE.600000 , symbol: SHSE.600001 等等等等
- {'symbol': 'SHSE.600618', 'created_at': datetime.datetime(2018, 2, 23, 10, 1, 8, 770000), 'price': 10.350000381469727, 'open': 10.34000015258789, 'high': 10.359999656677246, 'low': 10.279999732971191, 'cum_volume': 547813.0, 'cum_amount': 5653861.0, 'cum_position': 0, 'last_amount': 87975.0, 'last_volume': 8500, 'trade_type': 7, 'nanos': 770000000, 'quotes': [{'bid_p': 10.350000381469727, 'bid_v': 7000, 'ask_p': 10.359999656677246, 'ask_v': 14500}, {'bid_p': 10.34000015258789, 'bid_v': 18000, 'ask_p': 10.369999885559082, 'ask_v': 2000}, {'bid_p': 10.329999923706055, 'bid_v': 1500, 'ask_p': 10.380000114440918, 'ask_v': 9300}, {'bid_p': 10.319999694824219, 'bid_v': 9200, 'ask_p': 10.390000343322754, 'ask_v': 22100}, {'bid_p': 10.3100004196167, 'bid_v': 23100, 'ask_p': 10.399999618530273, 'ask_v': 56600}]}
复制代码- {'symbol': 'SHSE.600000', 'created_at': datetime.datetime(2018, 2, 23, 10, 1, 8, 770000), 'price': 10.350000381469727, 'open': 10.34000015258789, 'high': 10.359999656677246, 'low': 10.279999732971191, 'cum_volume': 547813.0, 'cum_amount': 5653861.0, 'cum_position': 0, 'last_amount': 87975.0, 'last_volume': 8500, 'trade_type': 7, 'nanos': 770000000, 'quotes': [{'bid_p': 10.350000381469727, 'bid_v': 7000, 'ask_p': 10.359999656677246, 'ask_v': 14500}, {'bid_p': 10.34000015258789, 'bid_v': 18000, 'ask_p': 10.369999885559082, 'ask_v': 2000}, {'bid_p': 10.329999923706055, 'bid_v': 1500, 'ask_p': 10.380000114440918, 'ask_v': 9300}, {'bid_p': 10.319999694824219, 'bid_v': 9200, 'ask_p': 10.390000343322754, 'ask_v': 22100}, {'bid_p': 10.3100004196167, 'bid_v': 23100, 'ask_p': 10.399999618530273, 'ask_v': 56600}]}
复制代码
然后我目前处理的是:
建立全局变量
s600618 = []
s600000 = []
s600001 = []
- if symb == 'SHSE.600618' :
- s600618.append(float('%.2f' % tick['price']))
- g = Up_grade(s600618)
- rate = g.rate()
- vol = int(tick['last_volume']/100)
- result = stock_dict[symb]
- if len(s600618)> 3:
- sale_price =s600618[-1]
- xxxxxxxxxxxxxxxxxxx
- if symb == 'SHSE.600000':
- s600000.append(float('%.2f' % tick['price']))
- g = Up_grade(s600000)
- rate = g.rate()
- vol = int(tick['last_volume']/100)
- result = stock_dict[symb]
- if len(s600000)> 3:
- sale_price =s600000[-1]
- xxxxxxxxxxxxxxx
- if symb == 'SHSE.600001':
- s600001.append(float('%.2f' % tick['price']))
- g = Up_grade(s600001)
- rate = g.rate()
- vol = int(tick['last_volume']/100)
- result = stock_dict[symb]
- if len(s600001)> 3:
- sale_price =s600001[-1]
- xxxxxxxxxxxxxxxxxxxxxx
复制代码
来处理 不同的SHSE.xxxxx 的数据。
我建立了一个Up_grade的类,来运行相同的策略。 但这样代码修正起来还是非常麻烦,
一旦有些变动,需要一个一个去修改里面的内容。
我曾经想用用 locals()[tick['symbol']] 来代替变量。
但是每个不同的变量还要生成一个 list的列表 来存放数据。 然后进行处理
请问有什么办法可以解决 这个问题。
谢谢。
不知道有没有理解对楼主的意思
楼主是想对subscribe()传回来的数据进行整理,因为subscribe()传回来的数据多种多样,有SHSE.600000,SHSE.600001,SHSE.600002,SHSE.600003,SHSE.600004等等许多不同的symbol名,而现在楼主是想写一个通用的处理过程,可以实现对上述的各种symbol名的数据的处理 ?
另外s600618.append(float('%.2f' % tick['price']))
这里的tick是下面这段东西吗?
- {'symbol': 'SHSE.600618', 'created_at': datetime.datetime(2018, 2, 23, 10, 1, 8, 770000), 'price': 10.350000381469727, 'open': 10.34000015258789, 'high': 10.359999656677246, 'low': 10.279999732971191, 'cum_volume': 547813.0, 'cum_amount': 5653861.0, 'cum_position': 0, 'last_amount': 87975.0, 'last_volume': 8500, 'trade_type': 7, 'nanos': 770000000, 'quotes': [{'bid_p': 10.350000381469727, 'bid_v': 7000, 'ask_p': 10.359999656677246, 'ask_v': 14500}, {'bid_p': 10.34000015258789, 'bid_v': 18000, 'ask_p': 10.369999885559082, 'ask_v': 2000}, {'bid_p': 10.329999923706055, 'bid_v': 1500, 'ask_p': 10.380000114440918, 'ask_v': 9300}, {'bid_p': 10.319999694824219, 'bid_v': 9200, 'ask_p': 10.390000343322754, 'ask_v': 22100}, {'bid_p': 10.3100004196167, 'bid_v': 23100, 'ask_p': 10.399999618530273, 'ask_v': 56600}]}
复制代码
|
最佳答案
查看完整内容
不知道有没有理解对楼主的意思
楼主是想对subscribe()传回来的数据进行整理,因为subscribe()传回来的数据多种多样,有SHSE.600000,SHSE.600001,SHSE.600002,SHSE.600003,SHSE.600004等等许多不同的symbol名,而现在楼主是想写一个通用的处理过程,可以实现对上述的各种symbol名的数据的处理 ?
另外s600618.append(float('%.2f' % tick['price']))
这里的tick是下面这段东西吗?
|