通过并行计算减少序列计算的时间

时间:2017-01-13 11:06:55

标签: python python-3.x parallel-processing

我尝试减少计算时间,但我不知道该怎么做。我认为它叫并行计算。

对于我的代码我计算了19个指数835个股票的指数移动平均值(ema)值。每只股票有3个时间框架,即每周和每月。

stock_names = [835 names]
ema_periods = [5, 10, 11, 12, 13, 14, 15, 16, 20, 25, 30, 35, 40, 45, 50, 75, 90, 100, 200]
ema_day = dict()
ema_week = dict()
ema_month = dict()

elapsed_time = 0

for name in stock_names:
    stock_data_day = get_data(name, 'day', 0, 0)
    stock_data_week = get_data(name, 'week', 0, 0)
    stock_data_month = get_data(name, 'month', 0, 0)

    start = time.time()
    for periods in ema_periods:
        ema_day[periods] = ema(stock_data_day['close'], periods)
        ema_week[periods] = ema(stock_data_week['close'], periods)
        ema_month[periods] = ema(stock_data_month['close'], periods)
    end = time.time()
    elapsed_time = elapsed_time + (end - start)

print('time : ', elapsed_time )

输出:

>>> time :  3.693106174468994

我想知道如何减少时间。我需要通过电子邮件时段分隔19个进程,或者按时间帧或两者分别进行3个进程。我推荐使用哪个库。或者一些例子来阅读和尝试。 因为我必须使用ema来计算诸如两个电子邮件时段的交叉之类的内容。

谢谢。

0 个答案:

没有答案