"""
See http://qoppac.blogspot.co.uk/2015/11/using-random-data.html for more examples
"""


from commonrandom import arbitrary_timeseries, skew_returns_annualised
from common import cum_perc
from matplotlib.pyplot import show

ans=arbitrary_timeseries(skew_returns_annualised(annualSR=0.5, want_skew=0.0, size=2500))
cum_perc(ans).plot()
show()

ans=arbitrary_timeseries(skew_returns_annualised(annualSR=0.5, want_skew=1.0, size=2500))
cum_perc(ans).plot()
show()

ans=arbitrary_timeseries(skew_returns_annualised(annualSR=1.0, want_skew=-3.0, size=2500))
cum_perc(ans).plot()
show()

Пример #2
0
from commonrandom import arbitrary_timeindex, skew_returns_annualised
from matplotlib.pyplot import show, hist
from common import DAYS_IN_YEAR, ROOT_DAYS_IN_YEAR, account_curve
import pandas as pd
import numpy as np
import scipy.stats as st

length_backtest_years=2
number_of_random_curves=100
annualSR=0.5
want_skew=0.0

length_bdays=length_backtest_years*DAYS_IN_YEAR
print length_bdays

random_curves=[skew_returns_annualised(annualSR=annualSR, want_skew=want_skew, size=length_bdays) 
               for NotUsed in range(number_of_random_curves)]

random_curves_npa=np.array(random_curves).transpose()

pddf_rand_data=pd.DataFrame(random_curves_npa, index=arbitrary_timeindex(length_bdays), columns=[str(i) for i in range(number_of_random_curves)])

acccurves_rand_data=[account_curve(pddf_rand_data[x]) for x in pddf_rand_data]

#results=[x.worst_drawdown() for x in acccurves_rand_data]
#results=[x.avg_drawdown() for x in acccurves_rand_data]
#print results
Пример #3
0
Set up the parameters
"""

length_backtest_years = 10
number_of_random_curves = 1000
annualSR = 0.5
want_skew = 1.0
"""
Do the bootstrap of many random curves
"""

length_bdays = length_backtest_years * DAYS_IN_YEAR

random_curves = [
    skew_returns_annualised(annualSR=annualSR,
                            want_skew=want_skew,
                            size=length_bdays)
    for NotUsed in range(number_of_random_curves)
]

## Turn into a dataframe

random_curves_npa = np.array(random_curves).transpose()
pddf_rand_data = pd.DataFrame(
    random_curves_npa,
    index=arbitrary_timeindex(length_bdays),
    columns=[str(i) for i in range(number_of_random_curves)])

## This is a nice representation as well
acccurves_rand_data = [
    account_curve(pddf_rand_data[x]) for x in pddf_rand_data
Пример #4
0
"""
See http://qoppac.blogspot.co.uk/2015/11/using-random-data.html for more examples
"""

from common import arbitrary_timeseries
from commonrandom import skew_returns_annualised
from common import cum_perc
from matplotlib.pyplot import show

ans = arbitrary_timeseries(
    skew_returns_annualised(annualSR=0.5, want_skew=0.0, size=2500))
cum_perc(ans).plot()
show()

ans = arbitrary_timeseries(
    skew_returns_annualised(annualSR=0.5, want_skew=1.0, size=2500))
cum_perc(ans).plot()
show()

ans = arbitrary_timeseries(
    skew_returns_annualised(annualSR=1.0, want_skew=-3.0, size=2500))
cum_perc(ans).plot()
show()
Пример #5
0
import logging
"""
See http://qoppac.blogspot.co.uk/2015/11/using-random-data.html for more examples
"""


from common import arbitrary_timeseries
from commonrandom import skew_returns_annualised
from common import cum_perc
from matplotlib.pyplot import show

ans=arbitrary_timeseries(skew_returns_annualised(annualSR=0.5, want_skew=0.0, size=2500))
cum_perc(ans).plot()
show()

ans=arbitrary_timeseries(skew_returns_annualised(annualSR=0.5, want_skew=1.0, size=2500))
cum_perc(ans).plot()
show()

ans=arbitrary_timeseries(skew_returns_annualised(annualSR=1.0, want_skew=-3.0, size=2500))
cum_perc(ans).plot()
show()