中国大学mooc量化软件最新考试答案-凯发k8天生赢家
新闻传播答案 7585
《量化软件期末考试》_test_run
《量化软件期末考试》 - 客观题
1、浮点数3.3是什么类型?
a、int
b、float
c、long
d、double
2、以下哪一条不是python的设计哲学?
a、beautiful is better than ugly.
b、nested is better than flat.
c、simple is better than complex.
d、sparse is better than dense.
《量化软件期末考试》 - 主观题
1、填空题 (2分)。 字典对象的__________方法可以用来检查某个key是否存在于某一个字典中,若存在则返回相应的value,否则返回none。
2、利用tushare包中的接口函数获取招商银行(股票代码600036)2019年第一季度的股票数据并完成如下数据处理和分析任务: 1. 数据只保留date、open、high、close、low和volume这几个属性,并按时间先后顺序对数据进行排序; 2. 选择2019年一季度和1月该股票最高价high和最低价low数据。 3. 输出这一季度内成交量最低和最高那两天的日期和分别的成交量; 4. 列出成交量在100000以上的记录; 5. 计算这一季度中收盘价(close)高于开盘价(open)的天数; 6. 计算前后两天开盘价的涨跌情况,用两种方式表示,第一种输出每两天之间的差值(后一天减去前一天),第二种输出一个开盘价涨跌列表,涨用1表示,跌用-1表示; 7. 绘制2019年1月该股票最高价high和最低价low的折线图; 8. 绘制该股票在此季度内每日收盘价与开盘价之差与当日成交量之间的散点图。
《量化软件期末考试》
量化软件期末考试 - 客观题
1、以下哪个是合法的python标识符?
a、add-path
b、2months
c、__
d、lambda
e、hello python
2、下列python赋值语句中不正确的是?
a、x = 1; y = 1; z = 1
b、x, y, z = y, z, x
c、x = (y = z 1)
d、x =y
e、x = y = z =1
3、结束最近层循环(或者本次循环),并进行下一次循环的是
a、break
b、continue
c、return
d、pass
e、else
4、以下哪一个可以用于输出浮点数的小数点后两位?
a、{.2d}
b、{.2%}
c、{.2f}
d、{:2%}
e、{:2}
5、下列表达式的值为布尔值false的是
a、'xyz' < 'xyz'
b、50<(100-30)>20
c、0x100 > 0
d、8-3j>8 3j
6、若k为整型,下述while循环执行的次数为多少次? k = 1000 while k > 50: print(k) k = k // 2
a、4
b、3
c、6
d、5
e、7
7、以下陈述不正确的是?
a、python中的集合set与数学概念上无序和无重复元素的集合所对应。
b、python中字典的key值是唯一的,但是value值不唯一,可以重复。
c、python中的序列和元组可以使用append( )、insert( )、remove( )、pop( )等添加或删除其中的元素。
d、所有标准序列操作,例如分片索引等,对字符串都是适用的,但是字符串都是不可变的,要注意不能对分片数据进行赋值。
8、以下哪个选项可以生成一个空字典?
a、{}
b、dict{}
c、([])
d、{[]}
e、[]
f、()
9、下列哪种说法是正确的
a、字典类型的对象可以用于布尔测试
b、空字符串的布尔值是true
c、空列表对象的布尔值是true
d、值为0的任何数字对象的布尔值是false
10、对于series或dataframe对象来说,如下选项中说法错误的是哪一个?
a、isnull()方法可以用来判断缺失值
b、drop()方法可以用来删除缺失行
c、fillna()方法可以用来填充缺失行
d、fillna()方法可通过method参数指定缺失值用其上或其下的第一个非缺失值填充
量化软件期末考试 - 主观题
1、填空题。 已知x=5,y=10,不使用中间变量的情况下应该如何交换x、y的赋值 。
2、填空题。 请给出计算的python表达式: 。
3、填空题。 分别采用什么方式提取复数a = 2 4j的实部 与虚部 。 (hint:两个答案之间请用换行或者分号分离开)。
4、填空题。 下列函数的匿名函数表达式为 。 def fun_odd (x): if x % 2: print('odd') else: print('even')
5、填空题。 已知列表对象y的值为[10,9,8,7,6,5,4,3,2,1,0], 那么切片得到的值是[7, 6, 5, 4]的python表达式为 。
6、编程题。 写出输出并实现的结果的代码,并用注释注明x的值是多少。
7、编程题。 按照如下的矩阵格式输出九九乘法表,注意只需要输出矩阵对角线上方部分,并使用一个空格作为分隔符,将每组乘法运算分隔开。
8、编程题。 创建可以将欧元换算为人民币的函数。 其中将人民币和欧元间汇率固定为1欧元=8.06人民币。要求python函数可以接受欧元的输入,转换为人民币的输出。人民币可以采用rmb表示,欧元eur表示,货币符号和数值之间用冒号“:”间隔,输出保留两位小数。
9、编程题。 一只股票的初始价格为100元,第一天涨停10%,第二天先下跌5%之后再次涨停,之后几天的价格变动都如第二天变动方式一致。问: 1) 这只股票第12次涨停的时候,总共价格变化路径是多少? (hint:这里价格总变化指的是价格变化的总路径长度,上涨与下跌的变动都算做变化路径,而不是最后价格减去开始价格。) 2) 最后一次的价格反弹是多少? (hint:问的是最后一次涨停的价格变动,而不是最后一天的价格变动) 请写出python的计算代码,并用注释总价格变化路径与最后一次反弹的数值。
10、编程题。 在文件“examination_data.csv”中保存了2018年沪深300指数的日收盘价,请结合所给数据完成下列问题。 (hint: 请将附件中examination_data.csv.zip文件解压之后,可以直接得到csv格式的文件。 如果解压有问题或者无法获得csv数据,请使用如下百度云链接下载数据: http://pan.baidu.com/s/1gzyqxcrvtfww5gw_le9jzg 密码:cqkr ) (1)(8分)请写出如何利用python获取或计算每日收益率以及收益率的平均值、中位数、最大值、最小值、标准差、偏度和峰值,并注释出具体数据统计量的答案。 (2)(12分)请写出如何利用python绘制图形来描绘每日收益率、每日价格与时间的关系,要求如下: 利用subplot绘制两幅子图; 需要标注legend、title; 设置坐标轴(x轴为时间time、y轴为return或者price),注意设置坐标轴的上下限 保存为figure.pdf
11、编程题。 对于经典的双均线策略设置下列条件: 交易标的:使用tushare获取一只上市股票信息,并利用其2019.06.03 — 2020.06.01日度收盘价的数据进行策略回测。要求所选股票代码的末位数与你学号最后一位相同。譬如下表所示,但不仅限于以下股票: 学号末位数 股票代码 股票 学号末位数 股票代码 股票 0 000980 众泰汽车 5 600155 华创阳安 1 600521 华海药业 6 603986 兆易创新 2 300522 世名科技 7 300537 广信材料 3 600233 圆通速递 8 000568 泸州老窖 4 600734 实达集团 9 600519 贵州茅台 买卖设置:5日均线上穿30日均线,做多买入(全仓买入);5日均线下穿30日均线,做空卖出(全仓卖出)。 账户初始现金为30万,印花税千分之一,买入和卖出佣金万分之二,每笔交易最低佣金为5元。 (1)(5分)解释什么是双均线策略,并比较说明双均线中5日均线和30日均线的区别; (2)(15分)试采用python语言加文字解释的方式阐述上述策略逻辑的具体编写过程。 (hint:部分函数可以使用聚宽平台函数库的函数)