###将每个公司的每日收盘价的百分数变化,及涨幅或者降幅,通过这个我们可以评估它的涨幅前景 tech_rets = closing_df.pct_change() tech_rets.head() ? sns.corrplot(tech_rets.dropna(),annot=True) ? 在下面这一部分主要说风险这一部分了,比如推测最多亏多少钱~~ 首先瞧瞧各数值吧 rets = tech_rets.dropna() ###平均值 rets.mean() AAPL 0.000456 的平均值,标准差为xy轴 plt.scatter(rets.mean(),rets.std()) ###分别设定xy轴的标注 plt.xlabel("Expected Return") plt.ylabel ("Risk") for label,x,y in zip(rets.columns,rets.mean(),rets.std()): plt.annotate( label,
2.2.2 添加多条数据 返回ObjectId对象构成的列表 item_list = [{"name":"test1000{}".format(i)} for i in range(10)] rets = collection.insert(item_list) print(rets) for ret in rets: print(ret) 2.3 find_one()查找一条数据 接收一个字典形式的条件 ret) 2.4 find()查找全部数据 返回所有满足条件的结果,如果条件为空,则返回全部 结果是一个Cursor游标对象,是一个可迭代对象,可以类似读文件的指针,但是只能够进行一次读取 rets = collection.find({"name":"test10005"}), for ret in rets: print(ret) for ret in rets: #此时rets中没有内容
###将每个公司的每日收盘价的百分数变化,及涨幅或者降幅,通过这个我们可以评估它的涨幅前景 tech_rets = closing_df.pct_change() tech_rets.head() ? (个人读后感,如有偏驳还望指正) 下面这一部分主要在说相关性~ sns.jointplot("GOOG","GOOG",tech_rets,kind="hex") ? sns.corrplot(tech_rets.dropna(),annot=True) 在下面这一部分主要说风险这一部分了,比如推测最多亏多少钱~~ 首先瞧瞧各数值吧 rets = tech_rets.dropna (rets.mean(),rets.std()) ###分别设定xy轴的标注 plt.xlabel("Expected Return") plt.ylabel("Risk") for label,x,y in zip(rets.columns,rets.mean(),rets.std()): plt.annotate( label, xy
************ # 生成模拟 #****************************************************************** rets = diff(log(prices)) # 绘制价格 matplot(exp(apply(rets,2,cumsum)), type='l') ? # 可视化分布的辅助函数 # 检查Copula拟合的Helper函数 # 模拟图与实际图 plot(rets[,1], rets[,2], xlab=labs[1], ylab=labs visualize.rets(fit.sim) ? vis(rets) ? 标准偏差相对于均值而言非常大,接近于零;因此,在某些情况下,我们很有可能获得不稳定的结果。 ----
ts.get_hist_data(stock,start,end)['close'] df = df.join(pd.DataFrame({stock:closing_df}),how='outer') tech_rets = df.pct_change() snsl.corrplot(tech_rets.dropna()) ? rets = tech_rets.dropna() plt.scatter(rets.mean(),rets.std()) plt.xlabel('Excepted Return') plt.ylabel ('Risk') for label,x,y in zip(rets.columns,rets.mean(),rets.std()):#添加标注 plt.annotate(
ts.get_hist_data(stock,start,end)['close'] df = df.join(pd.DataFrame({stock:closing_df}),how='outer') tech_rets = df.pct_change() snsl.corrplot(tech_rets.dropna()) ? rets = tech_rets.dropna() plt.scatter(rets.mean(),rets.std()) plt.xlabel('Excepted Return') plt.ylabel ('Risk') for label,x,y in zip(rets.columns,rets.mean(),rets.std()):#添加标注 plt.annotate(
import pyfolio as pf import pandas as pd import matplotlib.pyplot as plt benchmark_rets = pd.read_csv ('return.csv', index_col=0, parse_dates=True) stock_rets = pd.read_csv('benchmark.csv', index_col=0, parse_dates=True) returns = stock_rets['return'].tz_localize('UTC') benchmark_rets = benchmark_rets[' return'].tz_localize('UTC') live_start_date = '2016-5-1' pf.create_returns_tear_sheet(returns, benchmark_rets =benchmark_rets, live_start_date=live_start_date) plt.show() 代码着重讲几点: 1.returns的daily return必须是pandas
= null) { List<Object> rets = new ArrayList<Object>(resultList.size()); for ( ( rets.toArray((Object[]) Array.newInstance(returnType, 0))); } else { 不考虑Merger是怎么来的话,代码比较简单,取出集合resultList中Result的value,结果也是个集合,即下面代码段中的rets,最后用Merger对rets集合合并操作。 = null) { List<Object> rets = new ArrayList<Object>(resultList.size()); for (Result r rets.toArray((Object[]) Array.newInstance(returnType, 0))); } else { throw new RpcException
获取收益频率 # histogram 默认将输入数据分为 10 个组 # 返回一个元组,第一项是每个组的频数 # 第二项是每个组的范围 counts, rets = np.histogram(pos) # 取每个组的中间值 rets = rets[:-1] + (rets[1] - rets[0])/2 # 计算频数非 0 的位置 indices0 = np.where(counts ! = 0) # 过滤掉频数为 0 的数据点 counts = np.take(counts, indices0)[0] rets = np.take(rets, indices0)[0] # 计算对数周期 将周期和收益拟合为直线 p = np.polyfit(rets,freqs, 1) # 5. 绘制结果 plt.title('Power Law') plt.plot(rets, freqs, 'o', label='Data') plt.plot(rets, p[0] * rets + p
GetPageImgurls(url string) []string { html := GetHtml(url) re := regexp.MustCompile(ReImg) rets := re.FindAllStringSubmatch(html, -1) imgUrls := make([]string, 0) for _, ret := range rets := re.FindAllStringSubmatch(html, -1) imgInfos := make([]map[string] string,0) for _,ret := range rets 下面展示一下怎么获取Title标签内的值吧: func GetImgNameTag(imgTag string) string { re := regexp.MustCompile(ReTitle) rets := re.FindAllStringSubmatch(imgTag, -1) //fmt.Println(rets) if len(rets) > 0{ return rets[0][1]
假设无风险利率为零,夏普比率可以写成: 代码如下: def sharpe_ratio(rets): return rets.mean() / rets.std() 使用夏普比率作为我们的收益函数 函数如下: def returns(Ft, x, delta): T = len(x) rets = Ft[0:T - 1] * x[1:T] - delta * np.abs(Ft[1 :T] - Ft[0:T - 1]) return np.concatenate([[0], rets]) 这些收益可以用来计算我们的夏普比率。 (np.square(rets)) S = A / np.sqrt(B - A ** 2) grad = np.zeros(M + 2) dFpdtheta = np.zeros x = np.array(rets) x = (x - np.mean(x)) / np.std(x) # normalize N = 1000 P = 200 x_train = x[-(N+P):
2.2.2 添加多条数据 返回ObjectId对象构成的列表 item_list = [{"name":"test1000{}".format(i)} for i in range(10)] rets = collection.insert(item_list) print(rets) for ret in rets: print(ret) 2.3 find_one()查找一条数据 接收一个字典形式的条件 ret) 2.4 find()查找全部数据 返回所有满足条件的结果,如果条件为空,则返回全部 结果是一个Cursor游标对象,是一个可迭代对象,可以类似读文件的指针,但是只能够进行一次读取 rets = collection.find({"name":"test10005"}), for ret in rets: print(ret) for ret in rets: #此时rets中没有内容
= closing_df.pct_change()tech_rets.head()可视化展示自相关sns.jointplot(x='GOOG', y='GOOG', data=tech_rets, kind ', color='blue')plt.show()sns.jointplot(x='GOOG', y='AMZN', data=tech_rets, kind='scatter', color='blue ()可以让我们更灵活地控制图表的布局和类型:return_fig = sns.PairGrid(tech_rets.dropna())return_fig.map_upper(plt.scatter, rets = tech_rets.dropna()area = np.pi * 20plt.figure(figsize=(10,8))plt.scatter(rets.mean(), rets.std (),s=area)plt.xlabel("Expected Return")plt.ylabel("Risk")for label, x, y in zip(rets.columns, rets.mean
Example:$0 '18016017077,18016017078' '你好' output: will get the jason response something like { "Rets sms_sent_message.bash '18016017077,18016017078' '你好' output: will get the jason response something like { "Rets > over' { "Rets":[ { "Rspcode":0, "Msg_Id":"214531233876240942", "Mobile":"15016017077", "Fee
= 0) rets = rets[:-1] + (rets[1] - rets[0])/2 # Could generate divide by 0 warning freqs = 1.0/counts freqs = np.take(freqs, indices0)[0] rets = np.take(rets, indices0)[0] freqs = np.log(freqs) #4\. Plot the results. plt.title('Power Law') plt.plot(rets, freqs, 'o', label='Data') plt.plot(rets, p[0] = 0) rets = rets[:-1] + (rets[1] - rets[0])/2 # Could generate divide by 0 warning freqs = 1.0/counts freqs = np.take(freqs, indices0)[0] rets = np.take(rets, indices0)[0] freqs = np.log(freqs) 拟合频率并返回一条线
setSize) 11 r=Rectangle() 12 r.width=10 13 r.height=5 14 ret=r.size 15 print(ret) 16 r.size=100,50 17 rets =r.width 18 print(rets) 输出结果: 1 (5, 10) 2 100 Property函数创建了一个属性size,此时访问器函数被用做参数(先取值,再赋值)。
+j+1]ret[i+j+1] = temp % 10ret[i+j] += temp / 10}}// 去掉前缀0j := 0for j < m+n && ret[j] == 0 {j++}var retS stringfor i := j; i < len(ret); i++ {retS += strconv.Itoa(ret[i])}return retS}
liquor_rets = closing_df.pct_change() liquor_rets.head() ? 现在可以比较两支股票的日收益率来检验相关性。 sns.jointplot('贵州茅台', '五粮液', liquor_rets, kind='scatter') ? # 让我们首先将一个新的DataFrame定义为原始liquor_rets的 DataFrame的压缩版本 rets = liquor_rets.dropna() area = np.pi * 20 plt.figure (figsize=(10, 7)) plt.scatter(rets.mean(), rets.std(), s=area) plt.xlabel('预期回报',fontsize=18) plt.ylabel ('风险',fontsize=18) for label, x, y in zip(rets.columns, rets.mean(), rets.std()): if label == '山西汾酒
922.93 2003-01-08 7.28 21.31 28.83 909.93 计算苹果和标普500的相关性 spx_px = close_px_all["SPX"] # 选择某列的数据 spx_rets spx_px.pct_change() # 计算该列的百分比变化 returns = close_px.pct_change() # 计算整个数据的百分比变化 # 调用rolling后,corr聚合函数可以根据spx_rets 计算滚动相关性 # 计算returns和spx_rets的相关性 corr = returns.AAPL.rolling(125,min_periods=100).corr(spx_rets) corr.plot 计算全部公司和标普500的相关性 corr = returns.rolling(125,min_periods=100).corr(spx_rets) corr.plot() ?
= closing_df.pct_change()tech_rets.head()两两分布图In 19:# 自相关sns.jointplot(x='GOOG', y='GOOG ', data=tech_rets, kind='scatter', color='seagreen')plt.show ()图片# 互相关sns.jointplot(x='GOOG', y='AAPL', data=tech_rets, kind='scatter')plt.show()sns.jointplot(x='GOOG', y='MSFT', data=tech_rets , kind='scatter' )plt.show()4个股票之间的相关性分析:In 22:sns.pairplot(tech_rets, kind