项目作者: rubenafo

项目描述 :
MongoDb tool to store stock Yahoo Finance market data in a consistent way
高级语言: Python
项目地址: git://github.com/rubenafo/yfMongo.git
创建时间: 2013-09-14T10:16:13Z
项目社区:https://github.com/rubenafo/yfMongo

开源协议:Apache License 2.0

下载


PyPI version

yfMongo

yfMongo is a simple command line app to store and manage Yahoo Finance stock data in a MongoDb database.
It allows you to build a local corpus of stock data that can be reused and updated easily wihout having to be constantly online.
The API access is handled using YahooFetcher .

Install

  1. pip install yfm

Features

  • Retrieve stock data from Yahoo Finance using Yahoo tickers
  • Store tickers locally in MongoDb
  • Retrieve some indexes constituent data
  • Update tickers data daily
  • Fetch by date range
  • Export the data to JSON and CSV

Requirements

  • Python v2.6 at least
  • Pymongo python module
  • a running MongoDb instance

Database structure

By default yfMongo creates a database called yfmongo in your local MongoDb setup.
Inside this database, two collections contain all the data:

  • symbols : tickers list
  • timeline : tickers data (opening price, closing, max, min, volumen and date)

Usage

yfm can be used as a command line tool to load symbols into the mongodb database or directly as a python module:

  1. yfm add goog # add the 'goog' ticker to the database
  2. yfm add mse 06/05/2013 12/05/2013 # add mse and fetch the data between 6th May 2013 and 12th May 2013.
  3. yfm add index ftse # add the tickers for the index FTSE
  4. yfm remove goog # removes GOOG from the db, ticker and timeline info
  5. yfm update # for each ticker retrieve data since last day until today
  6. yfm show mse # displays mse content

Directly from within python, tipycally to read from the database

  1. import yfm
  2. fetcher = yfm.fetcher()
  3. fetcher.getTicker("goog") # read from the db
  4. fetcher.update() # same as 'yfm update'

Openshift integration

In order to use yfm in OpenShift, edit yfm file and override the following parameters:
hostname = os.environ.get(“OPENSHIFT_MONGODB_DB_HOST”)
port = os.environ.get(“OPENSHIFT_MONGODB_DB_PORT”)
user = os.environ.get(“OPENSHIFT_MONGODB_DB_USERNAME”)
password = os.environ.get(“OPENSHIFT_MONGODB_DB_PASSWORD”)