def test_robust_vol_calc_min_period(self): prices = pd_readcsv_frompackage( "syscore.tests.pricetestdata_min_period.csv") returns = prices.diff() vol = robust_vol_calc(returns, min_periods=9) self.assertAlmostEqual(vol.iloc[-1, 0], 0.45829858614978286) vol = robust_vol_calc(returns, min_periods=10) self.assertTrue(np.isnan(vol.iloc[-1][0]))
def get_data(path): ''' returns: DataFrame or Series if 1 col ''' df = pd_readcsv_frompackage(path) if len(df.columns) == 1: return df[df.columns[0]] return df
def test_robust_vol_calc_min_period(self): prices = pd_readcsv_frompackage( "syscore.tests.pricetestdata_min_period.csv") returns = prices.diff() vol = robust_vol_calc(returns, min_periods=9) self.assertAlmostEqual(vol.iloc[-1][0], 0.45829858614978286) vol = robust_vol_calc(returns, min_periods=10) self.assertTrue(np.isnan(vol.iloc[-1][0]))
def test_robust_vol_calc(self): prices = pd_readcsv_frompackage( "syscore", "pricetestdata.csv", ["tests"]) returns = prices.diff() vol = robust_vol_calc(returns, days=35) self.assertAlmostEqual(vol.iloc[-1, 0], 0.41905275480464305) vol = robust_vol_calc(returns, days=100) self.assertAlmostEqual(vol.iloc[-1, 0], 0.43906619578902956)
def test_robust_vol_calc(self): prices = pd_readcsv_frompackage("syscore.tests.pricetestdata.csv") returns = prices.diff() vol = robust_vol_calc(returns, days=35) self.assertAlmostEqual(vol.iloc[-1, 0], 0.41905275480464305) vol = robust_vol_calc(returns, days=100) self.assertAlmostEqual(vol.iloc[-1, 0], 0.43906619578902956)
def test_robust_vol_calc_floor(self): prices = pd_readcsv_frompackage( "syscore.tests.pricetestdata_vol_floor.csv") returns = prices.diff() vol = robust_vol_calc(returns) self.assertAlmostEqual(vol.iloc[-1, 0], 0.54492982003602064) vol = robust_vol_calc(returns, vol_floor=False) self.assertAlmostEqual(vol.iloc[-1, 0], 0.42134038479240132) vol = robust_vol_calc(returns, floor_min_quant=.5) self.assertAlmostEqual(vol.iloc[-1, 0], 1.6582199589924964) vol = robust_vol_calc(returns, floor_min_periods=500) self.assertAlmostEqual(vol.iloc[-1, 0], 0.42134038479240132) vol = robust_vol_calc(returns, floor_days=10, floor_min_periods=5) self.assertAlmostEqual(vol.iloc[-1, 0], 0.42134038479240132)
def test_robust_vol_calc_min_value(self): prices = pd_readcsv_frompackage( "syscore.tests.pricetestdata_zero_vol.csv") returns = prices.diff() vol = robust_vol_calc(returns, vol_abs_min=0.01) self.assertEqual(vol.iloc[-1, 0], 0.01)
def test_robust_vol_calc_min_value(self): prices = pd_readcsv_frompackage( "syscore.tests.pricetestdata_zero_vol.csv") returns = prices.diff() vol = robust_vol_calc(returns, vol_abs_min=0.01) self.assertEqual(vol.iloc[-1][0], 0.01)
def get_us_long_data(): us_long_data = pd_readcsv_frompackage( "examples.vix.US_monthly_returns.csv") return us_long_data
def get_vix_data(): vix_spot = pd_readcsv_frompackage("examples.vix.VIX.csv") return pd.Series([process_row(x) for x in vix_spot.values], vix_spot.index).ffill()