Exemplo n.º 1
0
    def test_add(self):
        binomial_one = Binomial(.4, 20)
        binomial_two = Binomial(.4, 60)
        binomial_sum = binomial_one + binomial_two

        self.assertEqual(binomial_sum.p, .4)
        self.assertEqual(binomial_sum.n, 80)
Exemplo n.º 2
0
Arquivo: app.py Projeto: ericpzh/CAPM
def estimate():
    K = float(request.form['k'])
    T = float(request.form['t'])
    S0 = float(request.form['s0'])
    sigma = float(request.form['sigma'])
    r = float(request.form['r'])
    q = float(request.form['q'])
    N = int(request.form['n'])
    Option = "P"
    if len(request.form.getlist('option')) != 0:
        Option = "C"
    Exercise = "E"
    if len(request.form.getlist('exercise')) != 0:
        Exercise = "A"
    price = round(Binomial(Option, K, T, S0, sigma, r, q, N, Exercise), 2)
    return render_template("options.html", price=price)
Exemplo n.º 3
0
 def to_binomial(self):
     return Binomial(n=1, p=self.p)
Exemplo n.º 4
0
from binomial import Binomial
from exponential import Exponential
from geometric import Geometric
from poisson import Poisson
from discrete import Discrete
from continuous import Continuous

user = ''
while (user != 'q' and user != 'quit'):
    problem = input("What type of random variable\n")
    prompt = "Preform what operation: expected, variance"
    if problem == 'q':
        break
    elif (problem == "binomial"):
        probability = float(input("What is the probability?\n"))
        problem = Binomial(probability)
        prompt += ", probablityofsuccess(n,k)"
        prompt += ", printTable"
    elif problem == "exponential":
        probability = float(input("What is the lambda?\n"))
        problem = Exponential(1 / 2)
    elif problem == "poisson":
        probability = float(input("What is the lambda?\n"))
        problem = Poisson(probability)
        prompt += ", probablityofsuccess(n,k)"
        prompt += ", printTable"
    elif problem == "discrete":
        probability = float(input("What is the probability?\n"))
        problem = Discrete(probability)
    elif problem == "geometric":
        probability = float(input("What is the probability?\n"))
Exemplo n.º 5
0
 def setUp(self):
     self.binomial = Binomial(0.4, 20)
     self.binomial.read_data_file('numbers_binomial.txt')
        self.short = "Joint"
        self.inp = []
        self.parameters = []
        for i, pmf in enumerate(self.pmfs):
            # TODO add indexes to repeats
            self.inp += [inp + str(i + 1) for inp in pmf.inp]
            self.parameters += [
                parameter + str(i + 1) for parameter in pmf.parameters
            ]

    def distribution(self, *args):
        if len(args) != self.dim:
            raise TypeError(f"expected {self.dim} arguments, got {len(args)}")

        accum = 1
        i = 0
        for pmf in self.pmfs:
            accum *= pmf.distribution(*(args[i:i + pmf.dim]))
            i += pmf.dim

        return accum


if __name__ == "__main__":
    from binomial import Binomial

    X = Binomial(10, 0.5)
    Y = Binomial(10, 0.3)
    #J = JointPMF(X, Y)
    J = X * Y
    J.plot()