首页 > 编程问答 >有人可以解决我的代码中的问题吗?而且我无法在我的电脑上安装 nsetools。如何在 python 中从 nse 获取实时数据?

有人可以解决我的代码中的问题吗?而且我无法在我的电脑上安装 nsetools。如何在 python 中从 nse 获取实时数据?

时间:2024-07-21 01:32:25浏览次数:11  
标签:python finance nse

从 nsetools 导入 Nse import pandas as pd

nse = Nse()

all_stock_codes = nse.get_stock_codes()

companies_with_low_pe = []

对于 all_stock_codes 中的代码: 如果代码=='符号': 继续 尝试: stock_quote = nse.get_quote(代码) pe_ratio = stock_quote.get('priceToBook')

    if pe_ratio is not None and pe_ratio <= 20:
        companies_with_low_pe.append({
            'symbol': code,
            'company_name': all_stock_codes[code],
            'pe_ratio': pe_ratio
        })
except Exception as e:
    print(f"Could not fetch data for {code}:{e}")

companies_df = pd.DataFrame(companies_with_low_pe)

print(companies_df)

companies_df.to_csv('companies_with_low_pe.csv', index=False)

#I试图让所有在 nse 交易的股票低于或等于 20,我想从 nsetools 导入 Nse,但它不起作用#


让我们来解决这个问题。以下是遇到的问题的分解,以及如何获取 NSE 实时数据的修复:

1. 安装 nsetools

确保已安装 nsetools 。如果还没有安装,请在终端或命令提示符中使用以下命令:

bash pip install nsetools

如果在安装时遇到问题,请检查的网络连接并确保使用的是最新版本的 pip(可以使用 pip install --upgrade pip 进行升级)。

2. 代码更正和改进

的代码有一些小的错误,并且可以通过以下方式进行改进:

```python from nsetools import Nse import pandas as pd

nse = Nse()

all_stock_codes = nse.get_stock_codes()

companies_with_low_pe = []

for code in all_stock_codes: if code == 'SYMBOL': # 跳过标题行 continue try: stock_quote = nse.get_quote(code) if stock_quote: # 检查是否获取了报价数据 pe_ratio = stock_quote.get('pricetoBook') # 使用 'pricetoBook',而不是 'priceToBook' if pe_ratio is not None and pe_ratio <= 20: companies_with_low_pe.append({ 'symbol': code, 'company_name': all_stock_codes[code], 'pe_ratio': pe_ratio }) except Exception as e: print(f"Could not fetch data for {code}: {e}")

companies_df = pd.DataFrame(companies_with_low_pe)

print(companies_df)

companies_df.to_csv('companies_with_low_pe.csv', index=False) ```

说明:

  • 'pricetoBook' 校正: nsetools 中的市净率键为 'pricetoBook' ,而不是 'priceToBook'
  • 跳过标题行: 我们跳过 all_stock_codes 字典中的标题行( 'SYMBOL' )。
  • 错误处理改进: 在尝试访问 pe_ratio 之前,我们检查 stock_quote 是否不为 None。这可以防止因某些股票的报价数据不可用而导致的错误。

3. 关于实时数据的重要说明

nsetools 提供实时数据。它从 NSE 网站抓取数据,该网站有一定延迟(通常为 15-20 分钟)。

要获取 NSE 实时数据,需要使用专门提供实时市场数据的经纪商 API 或数据提供商。 一些流行的选择包括:

  • 经纪商 API: 像 Zerodha、Upstox、Angel Broking 等经纪商都提供 API 来访问实时数据。
  • 数据提供商: 可以使用像 Refinitiv、Bloomberg 等提供实时市场数据的数据提供商。

使用这些 API 或数据源通常需要订阅并支付费用。

如果决定使用特定 API 或数据提供商,请参阅他们的文档以获取有关如何连接到他们的服务、获取数据以及管理速率限制的说明。

标签:python,finance,nse
From: 78773455

相关文章

  • 将 python 脚本的 stdin 重定向到 fifo 会导致 RuntimeError: input():lost sys.stdin
    我有这个python脚本,它的作用是充当服务器,它从重定向到fifo的stdin读取命令:test.py:whileTrue:try:line=input()exceptEOFError:breakprint(f'Received:{line}')在bash中运行命令:mkfifotestfifotest.py<testfifo......
  • Python/Flask mysql 游标:为什么它不起作用?
    fromflaskimportFlaskfromflask_mysqldbimportMySQLapp=Flask(__name__)app.config['MYSQL_HOST']='localhost'app.config['MYSQL_USER']='root'app.config['MYSQL_PASSWORD']='password'a......
  • Python pandas to_csv 导致 OSError: [Errno 22] 参数无效
    我的代码如下:importpandasaspdimportnumpyasnpdf=pd.read_csv("path/to/my/infile.csv")df=df.sort_values(['distance','time'])df.to_csv("path/to/my/outfile.csv")此代码成功从infile.csv(一个3GBcsv文件)读取数据,对其进行排......
  • 从 python 中的字符串列表中提取 def 定义函数的标签
    我想使用Python中的正常def过程创建函数,并将标签分配给从字符串列表中提取的命名空间。如何实现这一点?这个问题的动机:我正在创建一个与sympy兼容的python函数库,供数学家用于符号计算实验。许多函数需要初始化具有相关标签的多个对象的系统,这些标签分别由用户提供的字......
  • 在 Raspberry Pi 4 上使用 Python 从具有 SPI 连接的 MT6816 磁性编码器读取
    我对这个领域完全陌生,并不真正知道自己在做什么并且需要帮助。我正在尝试使用MT681614位磁性编码器通过RaspberryPi的SPI连接读取绝对角度。我有以下问题:在硬件方面,是否只是简单地连接必要的连接(3.3V、MOSI、MISO、SCK、GND、CE01)?对于编码......
  • PythonW 不运行脚本。严重地
    因此,使用Windows10和Python3.6。我创建了一个.py脚本,它可以使用命令pythonmyscript.py在命令提示符下正常运行,但是当我制作该脚本的精确副本并为其赋予扩展名.pyw,并尝试使用pythonw运行它时命令pythonwmyscript.pyw,什么也没有发生......
  • 如何使用Python和Selenium模拟产品购买以获取库存信息
    我正在开发一项网络抓取服务,主要针对时尚行业。我的目标是提供有关产品的全面数据,包括库存水平。为了实现这一目标,我需要模拟购买以确定每种尺寸的产品的最大可用数量。我一直在使用Python和Selenium进行网络抓取部分,但在准确模拟购买方面面临着挑战检索股票信息的过程。......
  • 连接Python套接字的问题
    当我写“关闭”时,我试图让我的电报机器人关闭计算机。我不想将机器人连接到网站上的托管。我选择我的手机(AndroidRedmiNote10)作为托管。我在上面安装了Termux和Pydroid。我写了两个文件:main到我的电脑,client到我的手机。通过在计算机上运行这两个文件,一切正常。但是,当我在......
  • 如何修复导入 Numexpr Python 时的错误
    在Windows10Python3.7.9(IDLE)上,我成功安装了“pipinstallnumexpr”,但在“importnumexprasne”时出现错误:Traceback(最近一次调用):文件“<pyshell#21>”,第267行,位于将numexpr导入为ne文件“C:\Python379\lib\site-packages\numexpr_init_.py”......
  • 让 cpython 优化恒定条件
    我正在用Python编写需要尽可能高效运行的代码,但有时我需要深入挖掘调试语句。不要注释这些输入或输出(或者使用外部预处理器来处理代码,就像这里建议的那样Python相当于#ifdefDEBUG或这里如何在python中实现“#ifdef”?|||)我想在模块的开头定义一个变量......