def irr(file="irr.txt"): data = [i.strip() for i in open(file).readlines()] data = [(data.index(i)+1,float(i))for i in data] ff =open("irroutput.txt" , "w") for i in data: ir = caldiff(10000,i[1],i[0],.05) o= ((1+ir)**12 -1) print i[0],o ff.write(str(o)+"\n") ff.close() def caldiff(X , val , n , r=.1): while(1): s = sum([X*(1+r)** i for i in range(1,n+1)]) d = s-val pr = d/val if d<0: irr = r+.00003 else: irr=r-.00003 s1 = sum([X/(1+irr)** i for i in range(1,n+1)]) new_irr = irr + (s1*(r-irr)/(s1-s)) if pr>.001 or pr<-.01: r=irr else: #print val,s,d,pr,irr , new_irr return irr def sensex(): data = [i.strip() for i in open("newsensex.txt").readlines()] ind=0 new = [] b = 21 ff= open("sensexdata.txt","w") for ind in range(len(data)/b): index = 1+ b*ind new+=[data[index]] for i in new: ff.write(str(i)+ "\n") ff.close() def eq(n=1,f="equitytest.txt"): data = [float(i.strip()) for i in open(f).readlines()] d = [] for i in range(len(data)-n): u = i + n l = i d+=[100*(data[u] - data[l])/data[l]] return sum(d)/len(d) def fi(n): f= open("result.txt","w") for i in n: f.write(str(i)+ "\n") f.close()