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权限的密码,因为后面同步文件的时候会用到…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装
以下是基于 vant-ui(适配 Vue2 版本 )实现截图中照片上传预览、删除功能,并封装成可复用组件的完整代码,包含样式和逻辑实现,可直接在 Vue2 项目中使用: 1. 封装的图片上传组件 ImageUploader.vue <te…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
MFC 抛体运动模拟:常见问题解决与界面美化
在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...
