当前位置: 首页 > news >正文

沈阳盘古网络做网站做的好么阿里指数在哪里看

沈阳盘古网络做网站做的好么,阿里指数在哪里看,html5 珠宝网站,怎样才能申请网站交易中的胜率和盈亏比估算 1.定义 胜率是指交易者在一定时间内成功交易的次数占总交易次数的比例。例如,如果交易者在10次交易中成功了6次,那么他的胜率就是60%。 盈亏比是指交易者每笔成功交易的盈利与每笔失败交易的亏损之间的比例。例如&#xff0…

交易中的胜率和盈亏比估算

1.定义

胜率是指交易者在一定时间内成功交易的次数占总交易次数的比例。例如,如果交易者在10次交易中成功了6次,那么他的胜率就是60%。

盈亏比是指交易者每笔成功交易的盈利与每笔失败交易的亏损之间的比例。例如,如果交易者每笔成功交易盈利100元,而每笔失败交易亏损50元,那么他的盈亏比就是2:1。

2.计算逻辑

假设一个交易者在100次交易中的胜率为60%,盈亏比为2:1。模拟计算他的总盈利情况:

(1)确定交易者在100次交易中的成功次数和失败次数。根据胜率60%,成功次数为60次,失败次数为40次。
(2)计算每次成功交易和失败交易的盈亏情况。根据盈亏比2:1,每次成功交易盈利2单位,每次失败交易亏损1单位。
(3)将成功交易的盈利和失败交易的亏损相加,得到总盈利情况。即:60次成功交易×2单位盈利 - 40次失败交易×1单位亏损 = 120单位盈利 - 40单位亏损 = 80单位总盈利 。

3.简单模拟计算

实际交易中,胜率设为55%,盈亏比设为4:3,比较合理的范围。

代码:

import numpy as np  
import pandas as pd  
import random#定义维度,交易数量
v_size = 1000  
# 定义概率分布 ,设置胜率 
probabilities = [0.45, 0.55]  
# 定义盈亏比 4:3 
v_win = 400.0
v_loss = -300.0# 生成随机数组  
arr_probability = np.random.choice([0,1], size=v_size, p=probabilities, replace=True)  # 将随机数组转换为pandas Series  
series_probability = pd.Series(arr_probability)  df_profit = pd.DataFrame()
df_profit['probability'] = series_probability# 使用numpy生成一个长度为v_size的数组,全部填充0.0,然后转换为Series  
series = pd.Series(np.zeros(v_size))  
# 增加profit 列  
df_profit['profit'] = seriesi = 0 
# df遍历赋值,如果是1,盈利赋值,如果是0, 亏损赋值。
for index, row in df_profit.iterrows():  if  row['probability'] == 1 :df_profit.loc[i,'profit'] = random.uniform(0.0, v_win)  else :df_profit.loc[i,'profit'] = random.uniform(v_loss, 0.0)  i += 1print('Profit: ',round(df_profit['profit'].sum(),2))
print('Win times: ',df_profit['probability'].sum())
print('Test times:',len(df_profit))

执行结果:

Profit:  51270.84
Win times:  583
Test times: 1000

交易次数:1000
盈利 51270.84 。
胜率是:58.3% 。
还是比较可观的。
当然,随着交易的次数增加,胜率会更接近55% 。

交易次数 :100000 。

Profit:  4283618.09
Win times:  55098
Test times: 100000

可以看到,胜率55.098% 。

4.模拟交易

上面的数据不容易看出投资本金,利润之间的关系。
将改进程序,更接近模拟交易过程,看看胜率和盈亏比对最终利润的影响。

import numpy as np  
import pandas as pd  
import random#定义维度,交易数量
v_size = 100  
# 定义概率分布 ,设置胜率 
probabilities = [0.45, 0.55]  
# 定义盈亏比 4:3 
v_win = 400.0
v_loss = -300.0# 初始资金
init_cash = 10000.0# 手续费 万二
v_comm = 0.0002# 当前现金 ,每次交易的仓位 
position = 0.6# 生成随机数组  
arr_probability = np.random.choice([0,1], size=v_size, p=probabilities, replace=True)  # 将随机数组转换为pandas Series  
series_probability = pd.Series(arr_probability)  df_profit = pd.DataFrame()
df_profit['probability'] = series_probability# 使用numpy生成一个长度为v_size的数组,全部填充0.0,然后转换为Series  
series = pd.Series(np.zeros(v_size))  # 每次交易的利润,含参与交易的本金
df_profit['profit'] = series# 每次交易的初始资金
df_profit['cash'] = series# 每次的仓位值
df_profit['position'] = series# 每次交易的佣金
df_profit['comm'] = seriesi = 0 # df遍历赋值,如果是1,盈利赋值,如果是0, 亏损赋值。
for index, row in df_profit.iterrows():  if  row['probability'] == 1 :# 如果是首次交易if i == 0 :df_profit.loc[i,'cash'] = init_cashdf_profit.loc[i,'position'] = init_cash * positiondf_profit.loc[i,'profit'] = random.uniform(0.0, v_win) / 10000 * df_profit.loc[i,'position'] + df_profit.loc[i,'position'] # 盈利 df_profit.loc[i,'comm'] = abs(df_profit.loc[i,'profit']) * v_comm # 总是正值df_profit.loc[i,'profit'] = df_profit.loc[i,'profit'] - df_profit.loc[i,'comm']#非首次交易else :df_profit.loc[i,'cash'] = df_profit.loc[i-1,'cash'] - df_profit.loc[i-1,'position'] + df_profit.loc[i-1,'profit']df_profit.loc[i,'position'] = df_profit.loc[i,'cash'] * positiondf_profit.loc[i,'profit'] = random.uniform(0.0, v_win) / 10000 * df_profit.loc[i,'position'] + df_profit.loc[i,'position'] # 盈利 df_profit.loc[i,'comm'] = abs(df_profit.loc[i,'profit']) * v_comm # 总是正值df_profit.loc[i,'profit'] = df_profit.loc[i,'profit'] - df_profit.loc[i,'comm']else :# 如果是首次交易if i == 0 :df_profit.loc[i,'cash'] = init_cashdf_profit.loc[i,'position'] = init_cash * positiondf_profit.loc[i,'profit'] = random.uniform(v_loss, 0.0) / 10000 * df_profit.loc[i,'position'] + df_profit.loc[i,'position'] # 亏损df_profit.loc[i,'comm'] = abs(df_profit.loc[i,'profit']) * v_comm # 总是正值df_profit.loc[i,'profit'] = df_profit.loc[i,'profit'] - df_profit.loc[i,'comm']#非首次交易    else :df_profit.loc[i,'cash'] = df_profit.loc[i-1,'cash'] - df_profit.loc[i-1,'position'] + df_profit.loc[i-1,'profit']df_profit.loc[i,'position'] = df_profit.loc[i,'cash'] * positiondf_profit.loc[i,'profit'] = random.uniform(v_loss, 0.0) / 10000 * df_profit.loc[i,'position'] + df_profit.loc[i,'position'] # 亏损df_profit.loc[i,'comm'] = abs(df_profit.loc[i,'profit']) * v_comm # 总是正值df_profit.loc[i,'profit'] = df_profit.loc[i,'profit'] - df_profit.loc[i,'comm']i += 1#print('Profit: ',round(df_profit['profit'].sum(),2))
print('Win times: ',df_profit['probability'].sum())
print('Test times: ',len(df_profit))
print('Profit ratio %: ',round((df_profit.loc[v_size -1,'cash']/init_cash - 1)*100,2))
print('Last trade cash: ',round(df_profit.loc[v_size-1,'cash'],2))
print('Sum trade comm: ',round(df_profit['comm'].sum(),2))                                        
# df_profit

结果:

Win times:  48
Test times:  100
Profit ratio %:  7.52
Last trade cash:  10752.08
Sum trade comm:  120.04

如果把交易次数设置1000

Win times:  550
Test times:  1000
Profit ratio %:  965.35
Last trade cash:  106534.91
Sum trade comm:  3919.97
http://www.tj-hxxt.cn/news/7759.html

相关文章:

  • 在线音乐网站源码推广论坛有哪些
  • 眉山网站建设公司国际新闻最新消息今天军事新闻
  • 网站建设公司需要什么公众号推广接单平台
  • 晋中企业网站建设公司百度推广一般要多少钱
  • 做网站域名大概多少钱软文案例500字
  • 网站建设功上海短视频培训机构
  • 做外贸网站的都有哪些类型的公司网络营销软文案例
  • 在新闻网站做采编小红书推广价目表
  • 北京专业做网站电话广州百度关键词推广
  • 嘉兴做网站的谷歌搜索引擎入口
  • 家装网站自己做的cdq百度指数
  • 经典的企业网站打开百度一下你就知道
  • 燕郊做网站的b2b平台营销
  • 成都网站定制中心网站关键字优化技巧
  • 做个简单网站大概多少钱百度seo引流
  • 萝岗网站建设优化seo的优缺点
  • 做网站的开发语言兰州网络推广技术
  • 自己怎么做免费网站百度知道官网
  • 怎么分辨网站是不是h5品牌策划公司介绍
  • 企业做网站需要什么手续吗东莞有限公司seo
  • 睢县网站建设广州营销课程培训班
  • 做旅游网站的好处凤凰网全国疫情实时动态
  • 网站建设价格热线360网站排名优化
  • 顺义广州网站建设广州网页推广公司
  • 做网站信科网站建设建立网站平台需要多少钱
  • 广西网站建设网址成都品牌推广
  • 用流媒体做的电台网站百度seo优化公司
  • 做易买网网站项目心得体会谷歌网站网址
  • 如何用自己电脑做网站服务器湘潭seo快速排名
  • 律师网站深圳网站设计seo搜索引擎优化是通过优化答案