рдШрдЯрдирд╛ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдФрд░ рдбреЗрдЯрд╛ рдЦрдирди - рднрд╡рд┐рд╖реНрдп рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ



рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╕реВрдЪрдирд╛ рдирд┐рдЧрд░рд╛рдиреА рд╕реЗрд╡рд╛, рд░рд┐рдХреЙрд░реНрдбреЗрдб рдлреНрдпреВрдЪрд░, рд╡реЗрдм рдкрд░ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИред

рдпрд╣ рдЖрдкрдХреЛ рдмрд╛рдж рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рдЬреНрдЮрд╛рди рдХреЗ рдирд┐рд╖реНрдХрд░реНрд╖рдг рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рд╕рд╛рде 5 рд╕рд╛рд▓ рддрдХ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде 150,000 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рднрд┐рдиреНрди рдореАрдбрд┐рдпрд╛ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реБрдЖ рдФрд░ рднрд╡рд┐рд╖реНрдп рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬреНрдЮрд╛рди рдХреА рдирд┐рдХрд╛рд╕реАред

рд╕реЗрд╡рд╛ рдХреЗ рд▓реЗрдЦрдХ рдХреНрд░рд┐рд╕ рд╣реЛрд▓реНрдбрди рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рднреБрдЧрддрд╛рди рдХрд┐рдП рдмрд┐рдирд╛ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдП рдЧрдП рднрд╡рд┐рд╖реНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХреА, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдкреВрд░реНрдг рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗрд╡рд▓ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдЖрдзрд╛рд░ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдм рд╕реЗрд╡рд╛ рджреБрдирд┐рдпрд╛ рдХреЗ рд╡рд┐рднрд┐рдиреНрди рджреЗрд╢реЛрдВ рдХреЗ 8,000 рд╕реЗ рдЕрдзрд┐рдХ рд░рд╛рдЬрдиреАрддрд┐рдХ рдиреЗрддрд╛рдУрдВ рдХреА рдирд┐рд░рдВрддрд░ рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдкреНрд░рд╕рд┐рджреНрдз рд╡реНрдпрдХреНрддрд┐ рдХрд╣рд╛рдБ рдФрд░ рдХреНрдпреЛрдВ рдЬрд╛рдПрдЧрд╛ред рдХрднреА-рдХрднреА, рдЗрди рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЕрдЪреНрдЫрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╣рдореЗрдВ рдЕрдВрддрд░рд░рд╛рд╖реНрдЯреНрд░реАрдп рд╕рдВрдмрдВрдзреЛрдВ рдореЗрдВ рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЪреБрдиреЗ рд╣реБрдП рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдпрд╛рддреНрд░рд╛ рдЗрддрд┐рд╣рд╛рд╕ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдХреЗ рдЙрдирдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд╕рдмрд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рдореЙрдбрд▓ рдХреА рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рд╕рд┐рд╕реНрдЯрдо рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдорд╛рдорд▓реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЖрд╡реЗрджрди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ:

- рджреБрдирд┐рдпрд╛ рдореЗрдВ рдЙрднрд░рддреЗ рд╕рд╛рдЗрдмрд░ рдЦрддрд░реЛрдВ рдФрд░ рд╣реИрдХрд░реНрд╕ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрдирд╛
- рдУрд╕рд╛рдорд╛ рдмрд┐рди-рд▓рд╛рджреЗрди рдХреЗ рдХрд░реАрдмреА рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХреЗ рдПрдХ рдЪрдХреНрд░ рд╕реЗ рдкрддреНрд░реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
- рд╡рд┐рд░реЛрдз рдЧрддрд┐рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
- рдЧреНрд░реАрд╕ рдФрд░ рдорд┐рд╕реНрд░ рдореЗрдВ рдЪреБрдирд╛рд╡ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг

рд░рд┐рдХреЙрд░реНрдбреЗрдб рдлреНрдпреВрдЪрд░ рдЗрди рдПрдХреНрд╢рди

рднреВ-рд░рд╛рдЬрдиреАрддрд┐рдХ рд╕реНрдерд┐рддрд┐, рдЖрддрдВрдХрд╡рд╛рдж рдФрд░ рд╡рд┐рд░реЛрдз рдЧрддрд┐рд╡рд┐рдзрд┐ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╡реНрдпрд╛рдкрдХ рд╕реАрдорд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╕рдорд╛рдЪрд╛рд░, рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдХрдВрдкрдирд┐рдпреЛрдВ рдХреА рдЬрд╛рдирдХрд╛рд░реА, рдЙрдирдХреЗ рдЙрддреНрдкрд╛рджреЛрдВ рдФрд░ рдкреНрд░реЗрд╕ рдореЗрдВ рдЙрдирдХреЗ рдХрд╡рд░реЗрдЬ рдХреЗ рд▓рд┐рдП рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╡рд┐рд╢реНрд▓реЗрд╖рд┐рдХреА рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдирдИ рддрдХрдиреАрдХ рдХреЗ рдЙрджреНрднрд╡, рдЕрдиреБрдмрдВрдзреЛрдВ рдХреЗ рд╕рдорд╛рдкрди, рдирд┐рджреЗрд╢рдХ рдордВрдбрд▓ рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдпрд╛ рдХрдВрдкрдиреА рдХреЗ рдкреНрд░рдореБрдЦ рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдШрдЯрдирд╛рдУрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рднрд╛рд╡рдирд╛рддреНрдордХ рд░рдВрдЧ ("рд╕рдХрд╛рд░рд╛рддреНрдордХ", "рдирдХрд╛рд░рд╛рддреНрдордХ") рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдЙрдкрдХрд░рдг рд╣реИред :

рд╡рд╛рдпрджрд╛ - "2012-2013 рдХреЗ рд▓рд┐рдП рдПрдкреНрдкрд▓ рдиреЗ рдХреНрдпрд╛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд┐рдпрд╛ рд╣реИ"



рд╕реЗрд╡рд╛ рдПрдХ рд╕рд╢реБрд▓реНрдХ рдПрдкреАрдЖрдИ ( http://code.google.com/p/recordedfuture/wiki/RecordedFutureAPI ) рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рднреВрдЧреЛрд▓ рд╕рд╣рд┐рдд рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд▓реЗрдмрд▓ рдХреЛ рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ:

рд░реВрд╕реА рд╕рдВрдШ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдЕрдЧрд╕реНрдд 2012 рдХреЗ рд▓рд┐рдП рд╡рд┐рд░реЛрдз рдЧрддрд┐рд╡рд┐рдзрд┐ рдХрд╛ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рди



рдЕрдиреБрд░реЛрдз рдирд┐рд░реНрдорд╛рдг рдЙрджрд╛рд╣рд░рдг (рдкрд╛рдпрдерди):

import urllib, json, datetime, zlib, sys, time def query(q, usecompression=True): """      JSON- """ try: url = 'http://api.recordedfuture.com/ws/rfq/instances?%s' if usecompression: url = url + '&compress=1' for i in range(3): try: data = urllib.urlopen(url % urllib.urlencode({"q":q})) if type(data) != str: data = data.read() if usecompression: data = zlib.decompress(data) break except: print >>sys.stderr, "Retrying failed API call." time.sleep(1) res = json.loads(data) if res['status'] != "SUCCESS": print >>sys.stderr, "Error",str(res['errors']) return res except Exception, e: print str(e) return {'status': 'FAILURE', 'errors': str(e)} 


рд╕реЗрд╡рд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╡рд┐рдЪрд╛рд░ рдмрд╣реБрдд рд╣реА рд╕рд░рд▓ рд╣реИ - рддрд┐рдерд┐рдпрд╛рдВ рд╕рднреА рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рд╡рд┐рднрд┐рдиреНрди рдЕрдзрд┐рд╕реВрдЪрдирд╛рдУрдВ (рд╕рдВрдЦреНрдпрд╛рддреНрдордХ, рдкреНрд░рддреАрдХрд╛рддреНрдордХ) рдореЗрдВ рдЖрд╡рдВрдЯрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЙрдиреНрд╣реЗрдВ рд╕реМрдВрдкреА рдЧрдИ рдШрдЯрдирд╛рдУрдВ рдХреЛ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрд╕реА рд╕рдордп, рдЗрд╕рдХрд╛ рд╕рдЯреАрдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдШрдЯрдирд╛ рдХрдм рд╣реЛрдЧреА ("рдЬрд▓реНрдж рд╣реА", "рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдореЗрдВ", "рджреВрд░ рдХреЗ рднрд╡рд┐рд╖реНрдп рдореЗрдВ")ред рд╕реЗрд╡рд╛ рд▓рдЧрд╛рддрд╛рд░ рдЯреНрд░реИрдХрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдХреНрд╖реЗрддреНрд░реЛрдВ рдкрд░ рдЕрдкрдбреЗрдЯ рднреЗрдЬрддреА рд╣реИ:



рдкрд╛рдпрдерди рдореЗрдВ рдПрдХ рддреИрдпрд╛рд░ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛:

python company-entquery.py MYTOKEN tickerfile.txt 2010-06-14 2010-06-20 > entoutputfile.txt
python company-aggquery.py MYTOKEN tickerfile.txt 2010-06-14 2010-06-20 > aggrawoutputfile.txt
рдЬрд╣рд╛рдВ:

MYTOKEN - рдПрдкреАрдЖрдИ рддрдХ рдкрд╣реБрдВрдЪ рдХрд╛ рд╣реИрд╢;
tickerfile.txt рдПрдХ рд╡рд┐рд╢реЗрд╖ рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬрд┐рд╕рдХреЗ рдирд┐рд░реНрджреЗрд╢ рдореАрдбрд┐рдпрд╛ рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕рд╛рд░рд╛рдВрд╢ рд░рд┐рдкреЛрд░реНрдЯ рдлреЙрд░реНрдо рдХрд╛ рдирд┐рд╖реНрдХрд░реНрд╖ рд╣реЛрдЧрд╛:

Ticker,Entity,Time,Count,Momentum,Positive,Negative
MSFT,33312449,2011-11-01 19:30:00,780,0.43689,0.062,0.00461
GOOG,33321272,2011-11-01 19:30:00,1707,0.72436,0.07052,0.0254
AMZN,33328212,2011-11-01 19:30:00,344,0.20139,0.05491,0.01374
CHK,33511577,2011-11-01 19:30:00,6,0.00817,0,0
MSFT,33312449,2011-11-02 19:30:00,1235,0.4538,0.04981,0.0137
GOOG,33321272,2011-11-02 19:30:00,2602,0.80317,0.06482,0.02282
AMZN,33328212,2011-11-02 19:30:00,619,0.22222,0.06884,0.00787
CHK,33511577,2011-11-02 19:30:00,45,0.02334,0,0.02581


рдЗрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдХрдВрдзреЛрдВ рдкрд░ рдкрдбрд╝рддрд╛ рд╣реИ, "рд╕рдХрд╛рд░рд╛рддреНрдордХ" рдФрд░ "рдирдХрд╛рд░рд╛рддреНрдордХ" рдХреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рдеред рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдВрд╕рд╛рдзрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрдкрдХреЛ рдПрдХ рдХрд╛рдлреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рдкреНрд░рднрд╛рд╡реА рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг рдмрдирд╛рдиреЗ рдФрд░ рдмреАрдЖрдИ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

Source: https://habr.com/ru/post/In147145/


All Articles