Python金融正太var-协方差模型外部传参

金融 同时被 2 个专栏收录
9 篇文章 0 订阅
39 篇文章 0 订阅

python金融正太var-协方差外部传参

一直不懂外部传参是啥玩意
然后发现python中的sys.argv,好像可以用上在这里…就不用登录本地编辑器比如Pycharm在线运行那段代码给那段代码进行传参了
用dos命令行也可以!

运行情况如下:

注意第一个传的值为列表,第二个为小数,第三个为整数(也能小数)

附上代码

import sys
import numpy as np
import scipy.stats as st
from pandas import DataFrame

# 设P0为固值
P0 = 1000

# 到时候外部传参下边可以用这段进行(这是ziliao的参数)
# 6.8272,6.8474,6.8647,6.8925,6.8855,6.9116,6.9180,6.9179,6.9143,6.9192,6.9215,6.9318,6.9501,6.9440,6.9363,6.9413,6.9611,6.9680,6.9535,6.9366,6.9735,6.9809


def aaa(arf,N,ziliao):
    # print(ziliao)
    #这个时候因为ziliao传入进来,是"6",".","8","2"这种形式,所以先对列表进行整合
    sum1 = ''
    for i in ziliao:
        sum1+=i
    # 这个时候sum1是一个字符串,内容包含6.8272,6.8474,6.8647,6.8925,6.8855,6.9116,6.9180,6.9179,6.9143,6.9192,6.9215,6.9318,6.9501,6.9440,6.9363,6.9413,6.9611,6.9680,6.9535,6.9366,6.9735,6.9809这些,所以进行切割
    # 同时为了方便还是取“ziliao”这个变量名,这个时候“ziliao”的内容为["6.8272","6.8474"]这些
    ziliao = sum1.split(",")

    # 为了让ziliao的内容变为[6.8272,6.8474],再用一次for循环(这是我笨人的笨方法..)
    sum=[]
    for i in ziliao:
        i = float(i)
        sum.append(i)
    # print(sum)
    ziliao = sum


    ziliao_return = DataFrame(ziliao)

    # 股票日收益
    stock_return = np.log(ziliao_return/ziliao_return.shift(1))

    # 删除缺失行
    stock_return = stock_return.dropna()
    # print(stock_return)
    a = stock_return.loc[:]
    # print(a)
    # a_mean为平均收益率  b为保留小数点后四位的a_mean
    a_mean =a.mean()
    b = "%.4f" % a_mean
    b = float(b)
    # a_mean = "%.2f%%" % (a.mean()*100)

    # p是置信水平在不同情况下(0.9或者0.95或者0.99)的平均收益率
    p = np.percentile(a, (1, 5, 10), interpolation='midpoint')

    if arf ==0.95:
        p = np.abs(p[1])
    elif arf==0.90 or arf==0.9:
        p = np.abs(p[0])
    elif arf==0.99:
        p = np.abs(p[2])
    # print(p)

    # z是置信水平在不同情况下(0.9或者0.95或者0.99)的取值
    z = st.norm.ppf(q=1 - arf)
    # z取绝对值
    z = np.abs(z)
    # print(z)

    # t是持有天数
    t = np.sqrt(N)

    # print(b,p,z,t)
    return b,p,z,t

# a1,a2,a3是外部传参,a1传参为列表
a2 = float(sys.argv[2])
# print(a2)
a3 = float(sys.argv[3])
# print(a3)
a1 = list(sys.argv[1])
# print(a1)

ttt = list(aaa(a2,a3,a1))
# print(ttt)
# print(ttt[0])
var_N = ttt[3]*P0*(ttt[2]*ttt[1]-float(ttt[0]))
print(var_N)
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
<p style="color:#666666;"> <span style="font-size:14px;">本门课程重实战,将基础知识拆解到项目里,让你在项目情境里学知识。</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">这样的学习方式能让你保持兴趣、充满动力,时刻知道学的东西能用在哪、能怎么用。</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">平时不明白的知识点,放在项目里去理解就恍然大悟了。</span> </p> <p style="color:#666666;"> <span></span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>一、融汇贯通</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">本视频采用了前后端分离的开发模式,前端使用Vue.js+Element UI实现了Web页面的呈现,后端使用Python 的Django框架实现了数据访问的接口,前端通过Axios访问后端接口获得数据。在学习完本章节后,真正理解前后端的各自承担的工作。</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>二、贴近实战</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">本系列课程为练手项目实战:学生管理系统v4.0的开发,项目包含了如下几个内容:项目的总体介绍、基本功能的演示、Vuejs的初始化、Element UI的使用、在Django中实现针对数据的增删改查的接口、在Vuejs中实现前端增删改查的调用、实现文件的上传、实现表格的分页、实现导出数据到Excel、实现通过Excel导入数据、实现针对表格的批量化操作等等,所有的功能都通过演示完成、贴近了实战</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>三、课程亮点</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">在本案例中,最大的亮点在于前后端做了分离,真正理解前后端的各自承担的工作。前端如何和后端交互</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="color:#FF0000;font-size:14px;"><strong>适合人群:</strong></span> </p> <p style="color:#666666;"> <span style="font-size:14px;">1、有Python语言基础、web前端基础,想要深入学习Python Web框架的朋友;</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">2、有Django基础,但是想学习企业级项目实战的朋友;</span> </p> <p style="color:#666666;"> <span style="font-size:14px;">3、有MySQL数据库基础的朋友</span> </p> <p style="color:#666666;"> <span style="font-size:14px;"> </span> </p> <p style="color:#666666;"> <span style="font-size:14px;"><img alt="" src="https://img-bss.csdnimg.cn/202009070752197496.png" /><br /> </span> </p> <p style="color:#666666;"> <span style="font-size:14px;"><br /> </span> </p>
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值