用Python选取神股(简单、粗暴)

本文介绍了一种在股市中追踪N日内涨幅最高股票的方法,通过使用tushare库获取股市数据,分析并筛选出涨幅最大的股票,帮助投资者了解市场动向。文章提供了具体的代码实现,展示了如何计算股票收益,并提醒投资者注意追高的风险。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

股市中不缺乏神话,追到神话不容易,在股市每日都能追到这些股票,那一定是神。
但是看看神话却不难,让我们先羡慕一下“神”的生活。

这个方法并不复杂,但是我们可以每日把最近N日涨幅或跌幅最高的部分股票筛选出来,尽心研究。例如最近10日涨幅最大的20只股票。
特别提示:这些股票一般是已经涨的差不多了,不宜再继续追高。

代码很简单,主要用了tushare获取股市数据,然后进行分析就可以。

用get_day_all()取得所有代码,
用get_k_data()取当天股票(大约需要9点后才能得到数据)
然后就可以用dataframe 来计算最近N日的股票收益,
例如 附图就是最近10日(2周)的收益最高的20只股票(截止2019年9月6日),股民朋友可以对这些股票每日进行复盘分析,自己从中找出可能收益较高的股票。

也可以稍微修改代码,例如选出下跌最多的股票,查看下跌的趋势,或者收益分布在50名左右的股票,再看看这些股票哪些是值得投资;或者选出最近5日涨幅较高的股票,看看是否有追涨的空间。

#不要遇到一点困难就悲观,不要遇到一点挑战就投降

# -*- coding: utf-8 -*-
# 检测实时行情,计算N日内最大涨幅
import tushare  as ts
import pandas as pd
import numpy as np  
import datetime
# 取所有股票
all = ts.get_day_all()

rf = pd.DataFrame(columns = ['date','open','close','high','low','volume','code','close2','date2'])

curDate = datetime.date.today()-datetime.timedelta(days=1) #昨天, get_k_data 在晚上还经常取不到当天信息
nDate = curDate-datetime.timedelta(days=30)  #30天数据基本可保证可以跨越假期
for scode in all['code']:  #该循环计算需要10分钟左右
    df = ts.get_k_data(scode,nDate.strftime('%Y-%m-%d'), curDate.strftime('%Y-%m-%d'),autype='qfq')  #默认前复权,   默认前复权?
    if(len(df)>10):  #计算每只股票 10天以来的涨跌幅(大约2周)
        df['close2']  = df['close'].shift(10)
        df['date2'] = df['date'].shift(10)
        df['close2']  = df['close'].shift(10)
        rf = rf.append(df.tail(1))  #最后一行是所需的数据,即当天与8天前的比较
 
# close2 前N日的股价,close 当前股价,pclose 升值率
rf['pclose']=(rf['close']-rf['close2'])/rf['close2']

rf = rf.sort_values(by="pclose" , ascending=False) 

df1 = rf[['code','close2','date2']]
df2 = all[['code','name','price','industry','area']]

result = pd.merge(df1, df2, on='code')  #合并两个dataframe
result['pclose']=(result['price']-result['close2'])/result['close2']
result.to_excel('Ndays.xls')   #结果写入excel文件
print(result.head(20))     显示前20名涨幅最大的股票

从下图可以看出,至9月开门红的第一周(8月23日至9月6日),涨幅最高的浙江广夏上涨超过74%,top20 中的新上市小熊电器上涨超过40%。
在这里插入图片描述
补充:下图是9月10日的top20,可以看到这几日前部几只收益率继续增高,有几只如东方通等在快速上涨,而深赛格等收盘价已经跌出了top20,可以比照各人的策略或指标进行研究。
在这里插入图片描述
下图是浙江广厦的走势图,可以研究一下其10日前的走势,何时是一个买点,看看其公告,其实都有一些信息可寻,本人有点小心得,但不敢在此班门弄斧,若有同行兴趣,可以私聊联系一起探讨(绝不荐股,本人也没有那个能力,主要是分析股票在某些指标之下可能上涨的概率)。
在这里插入图片描述

### 不同操作系统上的Python安装与卸载 #### CentOS 7 上 Python 的卸载过程 对于CentOS 7,当需要处理不同版本的Python3并确保一致性时,可以采用如下方式来进行卸载: 通过`rpm`命令查询所有已安装的Python3包,并利用管道符传递给另一个`rpm`实例执行卸载操作,参数`--allmatches --nodeps`用于强制移除指定软件及其依赖关系而不考虑其他可能存在的冲突[^1]。 ```bash rpm -qa|grep python3|xargs rpm -ev --allmatches --nodeps ``` 接着清理任何残留文件以防止潜在冲突。这一步骤涉及定位由`whereis`查找出来的路径列表,并将其作为输入提供给`rm`指令完成删除动作。 ```bash whereis python3 |xargs rm -frv ``` 最后确认系统内剩余Python组件情况,可通过再次调用`whereis`工具针对基础名称进行搜索。 ```bash whereis python ``` #### CentOS 7 上 Python 的安装流程 为了建立统一的工作环境,在准备就绪之后可继续按照以下步骤部署目标版本的Python解释器: 建议先构建一个新的目录结构专门存放即将引入的新版Python资源。 ```bash mkdir /usr/local/python3 && cd /usr/local/python3 ``` 随后获取官方发布的源码压缩包或是二进制分发包,解压后依据README文档指示编译链接直至最终完成整个设置工作流。 #### Windows 平台上 Python 的正确卸载方法 不同于Linux发行版的操作逻辑,在Windows环境下应当遵循特定指南来安全地去除不再使用的Python版本。推荐的做法是从微软商店或官方网站重新下载对应平台架构下的原生安装程序(.msi),运行它直到出现选项菜单选择修复/修改模式进而彻底清除旧有配置数据以及关联注册表项[^3]。 请注意避免简单粗暴地手动删档行为以免造成难以预料的影响范围扩大化问题发生。 #### 验证当前系统中的Python 版本 无论在哪种平台上都应首先掌握现有的Python状况以便做出合理规划。可以通过简单的CLI命令快速检索到有关信息[^2]。 ```bash python -V python3 -V ``` 上述两条语句分别指向默认解析名为`python`和显式指明为`python3`的两种情形;视具体需求而定选取其中之一即可满足初步调查目的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二粒米

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值