我怎样才能得到不支付股息的公司名单?
How might I get the list of firms that do not pay dividends?
以下代码旨在缩小 public 公司的代码列表
余额中有比特币的 sheet(存储在 list_of_tcks
中)到不支付股息的那些(存储在 leanCompanies
中)。
#!/usr/bin/env python3
from yfinance import pdr_override, Ticker
def give_me_list_of_no_div_payers(list_of_tcks):
list_refined = []
list_of_payers = []
for t in list_of_tcks:
if len(Ticker(t).dividends) < 1:
list_refined.append(t)
elif len(Ticker(t).dividends) > 0:
list_of_payers.append(t)
return (list_refined, list_of_payers)
def print_stock_div(ticker):
print(f"{ticker}:")
print(Ticker(ticker).dividends)
list_of_tcks = ['MSTR', 'TSLA', 'BRPHF', 'VOYG', 'MARA', 'SQ', 'HUT', 'RIOT', 'BITF', 'CORZ', 'COIN', 'BTGGF', 'HIVE', 'ARBKF', 'NEXOF', '', 'BROOK', 'HKD', 'BTBT', 'HSSHF', 'BBKCF', 'DMGGF', 'CLSK', 'HODL', 'ABT', 'DGGXF', 'NPPTF', 'CBIT', 'MELI', 'OTC', 'BNXAF', 'PHUN', 'BTCS', 'FRMO', 'SATO', 'MILE', 'MOGO', 'NTHOL TI']
print(list_of_tcks)
print(len(list_of_tcks))
leanCompanies = give_me_list_of_no_div_payers(list_of_tcks)[0]
print(leanCompanies)
fatCompanies = give_me_list_of_no_div_payers(list_of_tcks)[1]
print("Following is the detailed info on the dividends of the fat companies:")
for t in fatCompanies:
print(f"{t}:")
print(Ticker(t).dividends)
我注意到当有支付股息的积极历史时
Ticker(t).dividends
的类型是 pandas.core.series.Series
。
当公司从未支付 Ticker(t).dividends
类型的股息时
是 pandas.core.series.Series
或 list
.
1.为什么会有这两种?
2. 测试 len(Ticker(t).dividends)
的价值是否是获取不支付股息的公司名单的可靠方法?
3.有没有其他方法可以得到这样的列表?
- 两种类型的原因是因为部分代码没有找到。如果您阅读
[0]
打印行的输出,您会看到 return - <ticker>: No data found, symbol may be delisted
的 list
和 pd.Series
其中股票代码可用,但没有股息。
- 是的,使用
len(Tickers(t).dividends)
是明智的,此输出对于列表中的每个代码都是正确的。
- 您的
elif:
不需要条件,您可以使用 else:
代替。由于股息的长度要么是 0
(在 list_refined
中),要么不是(在 list_of_payers
中)。因此,您可以使用以下代码清理代码:
#选项 1
def give_me_list_of_no_div_payers(list_of_tcks):
list_refined = []
list_of_payers = []
for t in list_of_tcks:
if len(Ticker(t).dividends) == 0:
list_refined.append(t)
else:
list_of_payers.append(t)
return (list_refined, list_of_payers)
#选项 2 - 列表理解
def give_me_list_of_no_div_payers_2(list_of_tcks):
list_refined = []
list_of_payers = []
[list_refined.append(t) \
if len(Ticker(t).dividends) == 0 \
else list_of_payers.append(t) \
for t in list_of_tcks ]
return [list_refined, list_of_payers]
除此之外我不知道!
以下代码旨在缩小 public 公司的代码列表
余额中有比特币的 sheet(存储在 list_of_tcks
中)到不支付股息的那些(存储在 leanCompanies
中)。
#!/usr/bin/env python3
from yfinance import pdr_override, Ticker
def give_me_list_of_no_div_payers(list_of_tcks):
list_refined = []
list_of_payers = []
for t in list_of_tcks:
if len(Ticker(t).dividends) < 1:
list_refined.append(t)
elif len(Ticker(t).dividends) > 0:
list_of_payers.append(t)
return (list_refined, list_of_payers)
def print_stock_div(ticker):
print(f"{ticker}:")
print(Ticker(ticker).dividends)
list_of_tcks = ['MSTR', 'TSLA', 'BRPHF', 'VOYG', 'MARA', 'SQ', 'HUT', 'RIOT', 'BITF', 'CORZ', 'COIN', 'BTGGF', 'HIVE', 'ARBKF', 'NEXOF', '', 'BROOK', 'HKD', 'BTBT', 'HSSHF', 'BBKCF', 'DMGGF', 'CLSK', 'HODL', 'ABT', 'DGGXF', 'NPPTF', 'CBIT', 'MELI', 'OTC', 'BNXAF', 'PHUN', 'BTCS', 'FRMO', 'SATO', 'MILE', 'MOGO', 'NTHOL TI']
print(list_of_tcks)
print(len(list_of_tcks))
leanCompanies = give_me_list_of_no_div_payers(list_of_tcks)[0]
print(leanCompanies)
fatCompanies = give_me_list_of_no_div_payers(list_of_tcks)[1]
print("Following is the detailed info on the dividends of the fat companies:")
for t in fatCompanies:
print(f"{t}:")
print(Ticker(t).dividends)
我注意到当有支付股息的积极历史时
Ticker(t).dividends
的类型是 pandas.core.series.Series
。
当公司从未支付 Ticker(t).dividends
类型的股息时
是 pandas.core.series.Series
或 list
.
1.为什么会有这两种?
2. 测试 len(Ticker(t).dividends)
的价值是否是获取不支付股息的公司名单的可靠方法?
3.有没有其他方法可以得到这样的列表?
- 两种类型的原因是因为部分代码没有找到。如果您阅读
[0]
打印行的输出,您会看到 return- <ticker>: No data found, symbol may be delisted
的list
和pd.Series
其中股票代码可用,但没有股息。 - 是的,使用
len(Tickers(t).dividends)
是明智的,此输出对于列表中的每个代码都是正确的。 - 您的
elif:
不需要条件,您可以使用else:
代替。由于股息的长度要么是0
(在list_refined
中),要么不是(在list_of_payers
中)。因此,您可以使用以下代码清理代码:
#选项 1
def give_me_list_of_no_div_payers(list_of_tcks):
list_refined = []
list_of_payers = []
for t in list_of_tcks:
if len(Ticker(t).dividends) == 0:
list_refined.append(t)
else:
list_of_payers.append(t)
return (list_refined, list_of_payers)
#选项 2 - 列表理解
def give_me_list_of_no_div_payers_2(list_of_tcks):
list_refined = []
list_of_payers = []
[list_refined.append(t) \
if len(Ticker(t).dividends) == 0 \
else list_of_payers.append(t) \
for t in list_of_tcks ]
return [list_refined, list_of_payers]
除此之外我不知道!