[关闭]
@Channelchan 2017-05-22T12:29:32.000000Z 字数 1361 阅读 6785

优矿基本面数据

未分类


  1. 登入优矿Notebook用数据API获取数据保存为EXCEL
  2. 下载到本地转存至本地MongoDB

登入优矿Notebook用数据API获取数据

  1. import pandas as pd
  2. #获取HS300所有股票的secID
  3. HS300_list = set_universe('HS300')
  4. #保存为excel的文件名
  5. writer = pd.ExcelWriter("HS300_factors.xlsx")
  6. for ticker in HS300_list:
  7. data = DataAPI.MktStockFactorsDateRangeGet(secID=ticker, beginDate='20160101', field=['tradeDate','secID', 'close', 'ROE', 'PE', 'PB', 'PS'])
  8. data.to_excel(writer, ticker[0:6])
  9. writer.save()

下载到本地转存至本地MongoDB
只需要将你文件的路径复制至path即可

  1. from fxdayu_data.data.handler.mongo_handler import MongoHandler
  2. import pandas as pd
  3. from datetime import timedelta
  4. path = "C:\\Users\\small\\Desktop\\YouQuant_Data\\HS300_factors.xlsx"
  5. DAY_END = timedelta(hours=15)
  6. #存储至本地
  7. mh = MongoHandler(db='YouQuant_Fundamental')
  8. #存储至服务器
  9. # mh = MongoHandler("192.168.0.103", 30000, db='Basic')
  10. def coder(code):
  11. if code.startswith("6"):
  12. return "sh" + code
  13. elif code.startswith("0") or code.startswith("3"):
  14. return "sz" + code
  15. else:
  16. return code
  17. def standard(frame):
  18. frame['datetime'] = pd.to_datetime(frame.pop("tradeDate")) + DAY_END
  19. frame.pop("secID")
  20. return frame
  21. def read_sheets(excel_file):
  22. sheets = excel_file.sheet_names
  23. print sheets
  24. for sheet in sheets:
  25. yield sheet, excel_file.parse(sheet)
  26. def save_basic(file_path):
  27. ef = pd.ExcelFile(file_path)
  28. for code, frame in read_sheets(ef):
  29. print mh.inplace(
  30. standard(frame),
  31. coder(code)
  32. )
  33. if __name__ == '__main__':
  34. save_basic(path)

任务
1. 将沪深300, 中小板, 创业板分类下载至Mongodb
2. 研究优矿公开的130个因子,保存最常的20个基本面因子
3. 由于优矿的数据处理量有限,需要将时间以年为单位分批存入,需要10年至今的

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注