python进行股票收益率计算和风险控制的实现
股票收益率计算和风险控制的实现
在进行股票投资时,计算收益率和进行风险控制是非常重要的。本文将介绍一个与此相关的函数:radio_day_cal()。
radio_day_cal()函数
def radio_day_cal(last_day, sheet_name, df_dict, code_list, new_list):i = 0days_work = stock_parse.get_days_now_buy(sheet_name, code_list[0])if days_work > DAYS_WATCH and sheet_name != "止盈":print(f'此为第{days_work}天,已经超过止损观察的{DAYS_WATCH}天,请移除并删除分组!!!!')for code in code_list:days_work = stock_parse.get_days_now_buy(sheet_name, code)if (days_work - last_day >= -1) and (days_work > 2 or last_day == 1):day_row_num = days_work - last_day + 2else:print(f'第{days_work}天的上{last_day}天不存在!!!')return Nonetry:open = df_dict[code][day_row_num] # n日开盘except: # 格式发生变化open = df_dict[int(code)][day_row_num] # n日开盘new = new_list[i]i = i + 1radio = ((float(new) - float(open)) / float(open)) * 100radio = round(radio, 2)if math.isnan(radio) == True:print(f'以下为止损策略结果:股票代码{code}相对第{last_day}天收益率未填入!!!!!')return Noneprint(f'以下为止损策略结果:股票代码{code}相对前{last_day}天收益率为{radio}%')if last_day == 1: # 日跌5点判断if radio <= -DAY1_OUT_LOSS:print(f'建议抛出(日跌{DAY1_OUT_LOSS}点)!!!!!')else:print("建议持有")elif last_day == 3 and days_work > 3: # 3日3点判断if radio <= -DAY3_OUT_LOSS:print(f'建议抛出(日跌{DAY3_OUT_LOSS}点)!!!!!')else:print("建议持有")elif last_day == 3 and days_work == 3: # 第3日没有收益出if radio <= DAY3_OUT_TARGET:print(f'建议抛出(三日预期不足{DAY3_OUT_TARGET}点)!!!!!')else:print(f'建议持有,且将股票移入止盈策略(三日预期超出{DAY3_OUT_TARGET}点)!!!!!')elif last_day == 5: # 5日5点判断if radio <= -DAY5_OUT_LOSS:print(f'建议抛出(日跌{DAY5_OUT_LOSS}点)!!!!!')else:print("建议持有")
该函数用于计算当前和前last_day天的收益率。该函数以一个股票代码列表作为输入,依次计算每个股票的收益率,并根据不同的策略打印输出相应的建议。
首先,该函数使用外部库stock_parse.get_days_now_buy()获取从购买日期到现在的天数,并检查非止盈分组是否多余,如果超过了设定的观察期DAYS_WATCH就会进行提示。然后,对于给定的股票列表中的每只股票,该函数计算出距离当前日期和买入日的天数间隔days_work,并据此确定相应的行号day接着,在确定了相应的行号day_row_num之后,该函数从数据字典df_dict中获取开盘价open和当前价new,根据公式(new - open) / open * 100计算出相对于前last_day天的收益率radio`。最后,根据不同的策略打印输出相应的建议。
如果存在格式变化等错误,则会进行相应的提示。
这个函数主要用于给出针对某只股票的持有和抛出建议,帮助投资者做好风险控制和收益管理。
总结
本文介绍了一个计算股票收益率并进行风险控制的函数radio_day_cal(),它可以计算相对于前last_day天的收益率,并根据相应的策略给出持有或抛出的建议。
在实践中,我们可以根据具体情况调整参数last_day、DAYS_WATCH、DAY1_OUT_LOSS、DAY3_OUT_LOSS、DAY3_OUT_TARGET和DAY5_OUT_LOSS等,以达到更好的效果。
源文件链接及描述见:https://blog.csdn.net/Fei_Yang_YF/article/details/129832565?spm=1001.2014.3001.5501
相关文章:
python进行股票收益率计算和风险控制的实现
股票收益率计算和风险控制的实现 在进行股票投资时,计算收益率和进行风险控制是非常重要的。本文将介绍一个与此相关的函数:radio_day_cal()。 radio_day_cal()函数 def radio_day_cal(last_day, sheet_name, df_dict, code_list, new_list):i 0days…...
自从有了这套近4000页的开发文档后,Java面试路上就像开了挂一样
Java是世界最流行的编程语言,也是国内大多数IT公司的主流语言。招聘网站上Java岗位众多,Java工程师似乎不愁找工作。但仔细一看就会发现,Java岗位的招聘薪酬天差地别,人才要求也是五花八门。而在Java工程师求职过程中,…...
Python文件操作
目录 一、文件操作介绍 二、文件的打开和关闭 三、文件的读写 四、文件文件夹相关操作 五、test 一、文件操作介绍 文件 : python中文件是对象 Liunx 文件 : 一切设备都可以看成是文件 磁盘文件 管道 网络Socket 文件属性: 读 写 执行权限 就是把一些存储存放起来&…...
036:cesium加载GPX文件,显示图形
第036个 点击查看专栏目录 本示例的目的是介绍如何在vue+cesium中加载GPX文件, 显示图形。 直接复制下面的 vue+cesium源代码,操作2分钟即可运行实现效果. 文章目录 示例效果配置方式示例源代码(共83行)相关API参考:专栏目标示例效果 配置方式 1)查看基础设置:https:/…...
【AI探索】我问了ChatGPT几个终极问题
终于尝试了一把ChatGPT的强大之处,问了一下关心的几个问题: chatGPT现在在思考吗?有没有什么你感兴趣的问题? 你认为AI会对人类产生哪些方面的影响? 你对人类所涉及到的学科有了解吗?你认为在哪些方面与人类…...
Leetcode 优先队列详解
优先队列 优先队列(Priority Queue):一种特殊的队列。在优先队列中,元素被赋予优先级,当访问队列元素时,具有最高优先级的元素最先删除 普通队列详解Leetcode 队列详解 优先队列与普通队列最大的不同点在于…...
通过两道一年级数学题反思自己
背景 做完这两道题我开始反思自己,到底是什么限制了我?是我自己?是曾经教导我的老师?还是我的父母? 是考试吗?还是什么? 提目 1、正方体个数问题 2、相碰可能性 过程 静态思维: …...
Pytorch :从零搭建一个神经网络
文章目录安装依赖从源码编译pytorchCXX_ABI问题数据集归一化Transforms搭建神经网络Components of a neural networknn.Flattennn.Linearnn.Sequentialnn.SoftmaxModel Parameters优化模型参数设置超参数添加优化循环添加 loss function优化过程完整实现模型的保存和加载安装 …...
【华为OD机试 2023最新 】 区块链文件转储系统(C++ 100%)
题目描述 区块链底层存储是一个链式文件系统,由顺序的N个文件组成,每个文件的大小不一,依次为F1,F2,…,Fn。随着时间的推移,所占存储会越来越大。 云平台考虑将区块链按文件转储到廉价的SATA盘,只有连续的区块链文件才能转储到SATA盘上,且转储的文件之和不能超过SATA盘…...
基于springcloud实现分布式架构网上商城演示【项目源码】分享
基于springcloud实现分布式架构网上商城演示摘要 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包…...
【Qt】(自制类)适用于QTextCharFormat的字体选择对话框
先附上github链接:https://github.com/Ls-Jan/Qt_CharFormatDialog 主要是作为QFontDialog的平替/增强,毕竟Qt自带的字体选择器一言难尽(用过的都叹气)。 【运行界面】 【功能】 一目了然,可以选择字体,设置字号,设置…...
Unity即时战略/塔防项目实战(一)——构造网格建造系统
Unity即时战略/塔防项目实战(一)—— 构造网格建造系统 效果展示 Unity RTS游戏网格建造系统实现原理 地形和格子划分,建造系统BuildManager构建 地形最终需要划分成一个一个的小方格,首先定义一下小方格: private…...
【ZOJ 1095】Humble Numbers 题解(动态规划)
一个素数只有2,3,5或7的数被称为谦逊数。序列1、2、3、4、5、6、7、8、9、10、12、14、15、16、18、20、21、24、25、27。。。显示了前20个不起眼的数字。 编写一个程序来查找并打印此序列中的第n个元素。 输入规范 输入由一个或多个测试用例组成。每个…...
百科媒体背书,什么媒体的收录可以修改百科?
传媒如春雨,润物细无声,大家好 大家都知道百科在百度搜索引擎中有很高的权重,排名非常靠前,任何机构,个人,或者企业做网络宣传百科是必不可少的,虽然任何人都可以注册并编辑其内容。但是&#x…...
USB鼠标实现——HID 报告的返回(八)
文章目录HID 报告的返回仓库地址USB 鼠标阅读顺序报告返回HID 报告的返回 仓库地址 仓库地址 USB 鼠标阅读顺序 枚举过程USB鼠标实现——设备描述符(一)USB鼠标实现——设置地址(二)USB鼠标实现——配置描述符集合(…...
DOPE PEG Maleimide,DOPE-PEG-Mal,二油酰磷脂酰乙醇胺PEG马来酰亚胺
文章关键词:高分子PEG,DOPE,聚乙二醇化修饰试剂基团反应特点: DOPE PEG Maleimide是一种由 DOPE 和马来酰亚胺基团组成的 PEG 化合物。基础产品数据: CAS号:N/A 中文名:1,2-二油酰-SN-甘油-3-磷…...
python-课后作业-2
1.Python 3.x的range()函数返回一个:可迭代的序列对象 注意: Python 3.x的range()函数返回一个可迭代的序列对象,其中包含指定范围内的整数。range()函数的语法如下: range([start], stop[, step]) 其中,start表示序…...
redis 六. list应用场景及底层分析
List 类型一. 简单命令示例二. java 操作示例三. 使用场景四. 底层分析一. 简单命令示例 1.首先简单说明: List是一个双端链表的结构,内容是2的32次方减1个元素,大概40多亿,主要功能有push/pop等,一般用在栈,队列,消息队列等场景 2.简单命令 //1.向列表左边添加元素 LPUSH ke…...
成语填字接龙隐私政策
1. 适用范围 (a) 在您注册本应用帐号时,您根据本应用要求提供的个人注册信息; (b) 在您使用本应用网络服务,或访问本应用平台网页时,本应用自动接收并记录的您的浏览器和计算机上的信息,包括但不限于您的IP地址、浏览…...
导出LKD3588开发板的根文件系统
序:将RK3588上的整个根文件系统的文件通过ssh拷贝到PC系统(虚拟机) 工具:RK3588上的ubuntu系统需要安装:ssh, rsync。 PC电脑(虚拟机)上安装:ssh, rsync。 安装ssh 和rsync不做介绍,百度里面全是,也很简单需要设置开发板root权限的密码,因为后面同步文件的时候会用到…...
FxSound驱动开发详解:从Version11到Version14的完整演进历程
FxSound驱动开发详解:从Version11到Version14的完整演进历程 【免费下载链接】fxsound-app FxSound application and DSP source code 项目地址: https://gitcode.com/gh_mirrors/fx/fxsound-app FxSound驱动开发是音频增强技术的核心,从Version1…...
5分钟搞定Netdata监控面板汉化:最新GitHub汉化包一键安装教程
Netdata监控面板极速汉化指南:从零到精通的完整解决方案 对于国内开发者而言,英文界面始终是技术工具使用中的一道隐形门槛。Netdata作为一款功能强大的实时监控工具,其全英文的仪表盘让不少运维人员望而却步。本文将带你彻底解决这一痛点&am…...
别再只盯着代码了!手把手教你读懂Cartographer的PGM和YAML地图文件(附Notepad++实操)
从二进制到坐标系:Cartographer地图文件深度解析与实战调参指南 当你第一次打开Cartographer生成的.pgm和.yaml文件时,是否感觉像在解读某种外星密码?那些数字和参数背后,藏着机器人如何理解世界的秘密。本文将带你像侦探一样拆解…...
解锁戴森电池3大突破:固件破解技术让32次红灯故障电池重生
解锁戴森电池3大突破:固件破解技术让32次红灯故障电池重生 【免费下载链接】FU-Dyson-BMS (Unofficial) Firmware Upgrade for Dyson V6/V7 Vacuum Battery Management System 项目地址: https://gitcode.com/gh_mirrors/fu/FU-Dyson-BMS 当你的戴森吸尘器突…...
如何使用Audacity:免费音频编辑与录制全攻略
如何使用Audacity:免费音频编辑与录制全攻略 【免费下载链接】audacity Audio Editor 项目地址: https://gitcode.com/GitHub_Trending/au/audacity Audacity是一款免费开源的音频编辑与录制软件,支持多轨录音、音频剪辑、效果处理等专业功能&am…...
Flexible H-Tree实战:如何在复杂SoC设计中实现低延迟时钟分布(附Cadence Innovus配置指南)
Flexible H-Tree实战:复杂SoC设计中的低延迟时钟分布艺术 时钟网络就像芯片的神经系统,每一个脉冲都决定着数十亿晶体管的协同工作。在28nm以下的复杂SoC设计中,时钟分布网络的设计难度呈指数级增长——宏单元的不规则分布、跨电压域时序收敛…...
AI驱动的像素级区域划分:Krita智能选区工具提升数字创作效率全指南
AI驱动的像素级区域划分:Krita智能选区工具提升数字创作效率全指南 【免费下载链接】krita-vision-tools Krita plugin which adds selection tools to mask objects with a single click, or by drawing a bounding box. 项目地址: https://gitcode.com/gh_mirro…...
【Cuvil编译器生产级AI推理落地指南】:20年编译器老兵亲授Python模型从PyTorch到裸金属推理的7大避坑红线
第一章:Cuvil编译器在Python AI推理中的应用Cuvil 是一款面向AI工作负载的轻量级领域专用编译器,专为优化Python生态中基于NumPy、Torch和ONNX的推理流程而设计。它不依赖传统JIT或解释器层,而是通过静态图提取、张量算子融合与硬件感知调度&…...
革命性AI肖像动画工具LivePortrait:一键让静态照片“动“起来
革命性AI肖像动画工具LivePortrait:一键让静态照片"动"起来 【免费下载链接】LivePortrait Bring portraits to life! 项目地址: https://gitcode.com/GitHub_Trending/li/LivePortrait 你是否曾经想过让老照片中的亲人重新展露笑容?或…...
PP-DocLayoutV3跨平台文档处理方案:兼容Windows、Linux与macOS
PP-DocLayoutV3跨平台文档处理方案:兼容Windows、Linux与macOS 最近在折腾文档智能处理,发现了一个挺有意思的模型服务——PP-DocLayoutV3。简单来说,它能帮你自动分析文档图片,把里面的文字、表格、图片、标题什么的,…...
