def test_adnorm(): #tests against R fBasics st_pv = [] st_pv_R = np.array([0.5867235358882148, 0.1115380760041617]) ad = normal_ad(x) assert_almost_equal(ad, st_pv_R, 12) st_pv.append(st_pv_R) st_pv_R = np.array([2.976266267594575e+00, 8.753003709960645e-08]) ad = normal_ad(x**2) assert_almost_equal(ad, st_pv_R, 11) st_pv.append(st_pv_R) st_pv_R = np.array([0.4892557856308528, 0.1968040759316307]) ad = normal_ad(np.log(x**2)) assert_almost_equal(ad, st_pv_R, 12) st_pv.append(st_pv_R) st_pv_R = np.array([1.4599014654282669312, 0.0006380009232897535]) ad = normal_ad(np.exp(-x**2)) assert_almost_equal(ad, st_pv_R, 12) st_pv.append(st_pv_R) ad = normal_ad(np.column_stack((x,x**2, np.log(x**2),np.exp(-x**2))).T, axis=1) assert_almost_equal(ad, np.column_stack(st_pv), 11)
def test(self): #1. Download price data # 2011 to 2012 start = datetime.datetime(2011, 01, 01) end = datetime.datetime(2012, 01, 01) quotes = finance.quotes_historical_yahoo('AAPL', start, end, asobject=True) close = numpy.array(quotes.close).astype(numpy.float) self.assertAlmostEqual(normal_ad(numpy.diff(numpy.log(close)))[0], 0.57, 2) self.assertAlmostEqual(normal_ad(numpy.diff(numpy.log(close)))[1], 0.13, 2)
def test(self): #1. Download price data # 2011 to 2012 start = datetime.datetime(2011, 01, 01) end = datetime.datetime(2012, 01, 01) quotes = finance.quotes_historical_yahoo('AAPL', start, end, asobject=True) close = numpy.array(quotes.close).astype(numpy.float) self.assertAlmostEqual( normal_ad(numpy.diff(numpy.log(close)))[0], 0.57, 2) self.assertAlmostEqual( normal_ad(numpy.diff(numpy.log(close)))[1], 0.13, 2)
import datetime import numpy from matplotlib import finance from statsmodels.stats.adnorm import normal_ad import sys #1. Download price data # 2011 to 2012 start = datetime.datetime(2011, 01, 01) end = datetime.datetime(2012, 01, 01) print "Retrieving data for", sys.argv[1] quotes = finance.quotes_historical_yahoo(sys.argv[1], start, end, asobject=True) close = numpy.array(quotes.close).astype(numpy.float) print close.shape print normal_ad(numpy.diff(numpy.log(close))) #Retrieving data for AAPL #(252,) #(0.57103805516803163, 0.13725944999430437)
from __future__ import print_function import datetime import numpy as np from matplotlib import finance from statsmodels.stats.adnorm import normal_ad #1. Download price data # 2011 to 2012 start = datetime.datetime(2011, 01, 01) end = datetime.datetime(2012, 01, 01) quotes = finance.quotes_historical_yahoo('AAPL', start, end, asobject=True) close = np.array(quotes.close).astype(np.float) print(close.shape) print(normal_ad(np.diff(np.log(close)))) #Retrieving data for AAPL #(252,) #(0.57103805516803163, 0.13725944999430437)