python分析趋势、选择板块——我的股票投资心得


前言

昨天和朋友聊天,她买的股票都吃到了大肉,我买的一直半死不活。她喜欢短线交易,我喜欢价值投资。但是A股总会教育我,后来我也在想这是为什么?市场永远是对的,他跟我说她选票的逻辑是,今年天气炎热,每到第三个季度就会是用电高峰,抓住机会就能吃到肉,这让我有了分析趋势,分析板块的想法。在股票投资中,选择正确的板块和抓住市场趋势是获得投资回报的重要因素。下面我将分享一下我对于分析趋势和选择板块的方法和心得。

首先,对于分析趋势,我会从以下几个角度入手:

宏观经济因素:了解宏观经济的整体走势对于判断市场趋势至关重要。例如,关注GDP增长率、通货膨胀率、利率等指标,以及政府的经济政策。这些因素能够影响不同行业和板块的表现,从而帮助我们把握市场趋势。

技术指标分析:技术指标可以辅助我们判断股票价格的走势和买卖时机。常用的技术指标包括移动平均线、相对强弱指数、MACD等。通过观察这些指标的变化,我们可以发现股票价格的趋势和市场情绪的变化。

市场情绪和资金流向:市场情绪和资金流向也是判断趋势的重要参考因素。观察市场的热点和主题,了解资金的流向和机构投资者的操作,可以帮助我们判断市场的走势和板块的表现。

其次,选择板块也是至关重要的。以下是我选择板块的一些建议和心得:

行业前景:选择具有良好发展前景的行业是优先考虑的。例如,新能源、互联网科技、医疗保健等行业在当前市场表现较好,并且有望长期受益于社会发展趋势。

个股分析:对于选择板块中的个股,我们需要进行更加精细的分析。研究公司的基本面,包括财务状况、盈利能力、行业地位、竞争优势等。同时,关注公司的管理层和治理结构,以及公司未来的发展计划和创新能力。

长期投资视角:即使是选择板块,也要有长期投资的视角。我们应该选择那些具备长期成长潜力和竞争优势的板块和个股,而不是追逐短期的热点。长期投资更能够抵御市场波动,获得可持续的回报。

一、python代码

1.准备条件

查询dqnapi接口域名:http://www.dqnapi.com/
在这里插入图片描述

pro.stock_basic dqnapi号:100.3568/2023.1_v1
pro.hsgt_top10 dqnapi号:100.3568/2023.23_v1

二、代码

import tushare as ts
import pandas as pd
from time import sleep

# 获取 Tushare 账户 TOKEN
pro = ts.pro_api(token='5f49af63e213438df4f2566786d51ce8e7581b70cd5a4a6ac8bc8189')

# 获取股票列表
stock_list = pro.stock_basic(exchange='', list_status='L', fields='ts_code,industry')

# 设置分析时间段
start_date = '2017-01-01'  # 修改开始日期
end_date = '2022-12-31'  # 修改结束日期

# 获取时间段内每个季度的起始日期
quarters = pd.date_range(start=start_date, end=end_date, freq='Q')

df_top10_list = []
count = 0  # 计数器,记录已经访问接口的次数
for quarter_start in quarters:
    quarter_end = quarter_start + pd.offsets.QuarterEnd()
    
    # 获取每个季度的起始日期和结束日期
    start_date = quarter_start.strftime('%Y-%m-%d')
    end_date = quarter_end.strftime('%Y-%m-%d')
    
    # 获取时间段内每日前十大成交数据,并按照行业汇总
    df_top10_list_quarter = []

    for trade_date in pd.date_range(start=start_date, end=end_date):
        count += 1
        print(count)
        if count >= 200:
            sleep(60)
            count = 0
        trade_date_str = trade_date.strftime('%Y%m%d')
        df_top10 = pro.hsgt_top10(trade_date=trade_date_str)
        df_top10_merged = pd.merge(df_top10, stock_list, on='ts_code', how='left')
        df_top10_grouped = df_top10_merged.groupby('industry').size().reset_index(name='counts')
        df_top10_grouped['pct'] = df_top10_grouped['counts'] / len(df_top10_merged)
        df_top10_list_quarter.append(df_top10_grouped)
    
    # 将行业汇总数据合并,并计算每个行业的得分
    df_top10_total_quarter = pd.concat(df_top10_list_quarter).groupby('industry').agg({'counts': 'sum', 'pct': 'mean'}).reset_index()
    df_top10_total_quarter['score'] = df_top10_total_quarter['counts'] * df_top10_total_quarter['pct']
    
    # 按照得分从高到低排序,并输出结果
    df_top10_total_quarter = df_top10_total_quarter.sort_values(by='score', ascending=False)
    df_top10_list.append(df_top10_total_quarter)

# 输出每个季度的热门板块
for i, quarter_start in enumerate(quarters):
    quarter_end = quarter_start + pd.offsets.QuarterEnd()
    print(f"第{i+1}季度 {quarter_start.strftime('%Y-%m-%d')}{quarter_end.strftime('%Y-%m-%d')} 的热门板块:\n")
    print(df_top10_list[i][['industry', 'counts', 'pct', 'score']])
    print("\n")
    
with open('top.txt', 'w') as f:
    for i, quarter_start in enumerate(quarters):
        quarter_end = quarter_start + pd.offsets.QuarterEnd()
        f.write(f"第{i+1}季度 {quarter_start.strftime('%Y-%m-%d')}{quarter_end.strftime('%Y-%m-%d')} 的热门板块:\n\n")
        f.write(df_top10_list[i][['industry', 'counts', 'pct', 'score']].to_string(index=False))
        f.write("\n\n")

总结

提示:这里对文章进行总结:

在这里插入图片描述
上表是2017年-2023年的数据整理,分析每个季度,不同行业板块热度是否存在差异。现在是第三季度,从结果看可以多关注下面这些板块
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Pandas是一个Python库,用于数据处理和分析。在数据分析中,预处理是非常重要的一步,因为它可以帮助我们清洗和转换数据,使其更适合进行分析。Pandas提供了一些强大的预处理功能,包括数据清洗、数据转换、数据重塑和数据合并等。在使用Pandas进行数据分析时,预处理是必不可少的一步。 ### 回答2: 在数据分析中,数据的预处理是一个必要的过程。它的主要目的是清洗数据,准备数据,以便后续分析。在Python中,pandas是一种广泛使用的数据处理库。pandas可以通过其高效的数据结构和操作方法来清洗和处理数据。在本文中,将介绍pandas预处理的一些常见技术。 一、读取数据 在pandas中,使用read_csv()函数读取CSV格式的数据文件,read_excel()函数读取Excel格式的数据文件。它们都有很多选项,可以根据具体文件的格式进行设置。 二、查看数据 在pandas中,使用以下函数来查看数据: 1. head() - 显示数据框的前几行; 2. tail() - 显示数据框的后几行; 3. columns - 显示数据框的列名; 4. shape - 显示数据框的行列数; 5. info() - 显示数据框的基本信息,包括每列的名称、非空值数量和数据类型。 三、数据清洗 在数据清洗中,有以下一些常见的技术: 1. 删除重复行:使用drop_duplicates()函数; 2. 替换空值:使用fillna()函数; 3. 删除空值:使用dropna()函数; 4. 更改数据类型:使用astype()函数。 四、数据准备 在数据准备中,有以下一些常见的技术: 1. 数据合并:使用merge()函数; 2. 数据筛选:使用loc()函数或者iloc()函数; 3. 数据分组:使用groupby()函数; 4. 数据排序:使用sort_values()函数。 五、数据分析 在数据分析中,有以下一些常见的技术: 1. 数据聚合:使用agg()函数; 2. 统计描述:使用describe()函数; 3. 数据可视化:使用matplotlib或者seaborn库。 综上所述,pandas预处理是数据分析中必不可少的一步。通过使用pandas提供的函数和方法,可以方便地清理和处理数据,使其更容易被分析。 ### 回答3: Pandas是Python中最强大的数据处理库之一,它提供了DataFrame和Series这两种数据结构,可以快速便捷地处理数据。在数据分析过程中,我们往往需要先对数据进行预处理,以便后续的分析。Pandas提供了一系列的方法和函数,可以帮助我们进行数据的预处理。 首先,在进行数据分析之前,我们需要了解自己所面对的数据类型和数据结构。Pandas中的DataFrame结构就是类似于表格的结构,每一行代表一个样本,每一列代表一个属性。Series则是一维的数组结构。通过pandas.read_csv(),我们可以读取CSV格式的数据,并转化为DataFrame结构。 接下来,我们要对数据进行一些基本的处理,例如数据清洗、数据去重、缺失值处理、异常值处理等。在数据清洗过程中,我们往往需要对数据进行一些特殊的处理,例如字符串的分割、合并、替换等操作,Pandas提供了一系列能够对文本进行操作的函数。在数据去重方面,我们可以使用drop_duplicates()函数,它可以去除DataFrame中的重复记录。在处理缺失值时,Pandas提供了一系列的函数,如fillna()函数、dropna()函数,可以方便地将NaN值变为其他有意义的值,或者删除缺失值的行或列。在异常值处理方面,我们可以使用isoutlier()函数来找到数据中的异常值,并进行处理。 在数据预处理完成后,我们可以对数据进行一些统计分析,例如计算小计、计算总计、分位数、极差、方差、标准差等统计指标。我们可以使用describe()函数来获得数据的统计描述,还可以使用groupby()函数来对数据分组,使用agg()函数对每组进行计算统计指标。此外,我们还可以对数据进行排序、丢弃、合并等操作。 总之,Pandas是一个非常强大的Python库,可以轻松处理数据预处理和数据处理方面的任务。Pandas作为数据分析和数据处理的基础库,使用熟练后可以在数据分析中发挥更大的作用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值