【问题标题】:Python Stock ScreenerPython 股票筛选器
【发布时间】:2023-03-29 14:55:01
【问题描述】:

我将使用 python 构建一个简单的股票筛选器。筛选器应收到音量和平均值。来自不同股票的交易量应该列出所有交易量高于平均值的股票。简单表格中的音量。

问题是我总是在带有条件的 if 循环中出错。

from yahoo_fin.stock_info import get_analysts_info, get_stats, get_live_price, get_quote_table
import pandas as pd
import ssl


ssl._create_default_https_context = ssl._create_unverified_context

tickers = ['aapl', 'ayx']

stocks = pd.DataFrame(columns = ['ticker', 'Volume_1', 'Average_Volume'])

for ticker in tickers:
    df = get_stats(ticker)
    df['ticker'] = ticker
    df = df.pivot(index = 'ticker', columns = 'Attribute', values = 'Value')
    df['Volume_1'] = get_quote_table(ticker)['Volume']
    df['Average_Volume'] = get_quote_table(ticker)['Avg. Volume']
    df = df[['Volume_1', 'Average_Volume']]
    df = df.reset_index()
    df.columns = ('ticker', 'Volume_1', 'Average_Volume')

    stocks = stocks.append(df, ignore_index = True)

for stock in stocks:


    Volume_1 = df["Volume_1"]
    Average_Volume = df["Average_Volume"]


    if float(Volume_1) > float(Average_Volume):

            exportList = stocks.append({'Volume_1': Volume_1, "Average_Volume": Avgerage_Volume},
                                           ignore_index=True)

df["Volume_1"] = pd.to_numeric(df["Volume_1"], downcast="float")
exportList = stock.sort_values(by='Volume_1', ascending=False)
print('\n', exportList)

【问题讨论】:

标签: python pandas


【解决方案1】:

尝试将 Volume 和 Avg Volume 转换为浮点数,它们可能是字符串。

if float(Volume_1) > float(Average_Volume):
    #do your processing here

如果这不起作用,请发布您遇到的错误,我会尽力为您提供进一步的帮助。

【讨论】:

  • 您好,感谢您的快速答复!这似乎可行,但现在我得到另一个错误.. 似乎我的代码有更多问题.. 第 36 行,在 exportList = stock.sort_values(by='Volume', ascending=False) AttributeError : 'str' 对象没有属性 'sort_values'
  • 同样的错误,卷是str。尝试在 exportList 之前添加这一行:df["Volume"] = pd.to_numeric(df["Volume"], downcast="float")
  • 现在我收到此错误:( Traceback (最近一次调用最后一次): File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/pandas/ core/indexes/base.py”,第 3080 行,在 get_loc 返回 self._engine.get_loc(casted_key) pandas._libs.hashtable.PyObjectHashTable.get_item 文件“pandas/_libs/hashtable_class_helper.pxi”,第 4562 行,在 pandas._libs .hashtable.PyObjectHashTable.get_item KeyError: 'Volume'
  • df["Volume_1"] = pd.to_numeric(df["Volume_1"], downcast="float")
  • 这让我很困惑..:第 37 行,在 exportList = stock.sort_values(by='Volume_1', ascending=False) AttributeError: 'str' object has no attribute 'sort_values'我更新了帖子中的代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 2022-06-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多