如何添加多线程或多处理

2024-04-16 13:54:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我在脚本下面运行,所有股票都需要35秒。有没有什么办法让所有股票一次跑得更快

import schedule
import time
from kiteconnect import KiteConnect
import CSV
import JSON
import requests
import pandas_datareader.data as pdr
import pandas as pd
import matplotlib.pyplot as plt
import time
import subprocess

Def job():

    api_key='YOUR_API'
    api_secret='YOUR_SECRETKEY'
    api_token='YOUR_ACESSTOKEN' 
    kite=KiteConnect(api_key=api_key)
    kite.set_access_token('YOUR_ACCESStoken')
    Stocks = ['BANKINDIA','CAPF','CHENNPETRO','DLF',
              'EQUITAS','ESCORTS','FORTIS','HEXAWARE',
              'IDBI','IDFCBANK','IOC','IRB','ITC','JUBLFOOD',
              'KPIT','OFSS','ONGC','PFC','PNB',
              'RPOWER','TATAPOWER','VGUARD','WOCKPHARMA']
    for testst in Stocks:
         print(testst)
         Kite_TODAY="https://api.kite.trade/instruments/NSE/%s?api_key='YOUR_API'&access_token='ACCESS_TOKEN'"
         print(Kite_TODAY % testst)
         r = requests.get(Kite_TODAY % testst)
         rjson=r.json()
         r1=rjson['data']['last_price']
         Open = rjson['data']['ohlc']['open']
         High = rjson['data']['ohlc']['high']
         Low  = rjson['data']['ohlc']['low']
         Close = rjson['data']['ohlc']['close']
         print(" Stock %s Open %s High  %s Low %s Close %s",testst,Open,High,Low,Close)
         if ( Open == High ):             
            testkite = (("kite.order_place(tradingsymbol='%s',exchange='NSE',quantity=1,price=%s,squareoff_value=1,stoploss_value=5,variety='bo',transaction_type='SELL',order_type='LIMIT',product='MIS',validity='DAY')") % (testst,Open))
            order1=testkite
            order2=exec(order1)
            print(order2)    
    print (" working...")
    return

schedule.every().day.at ("09:15").do (job)

While True:
  schedule.run_pending()
  time.sleep (1)

Tags: keyimportapiyourdatatimeasopen