我希望能够优化这段代码,让它兼容港股和a股的股票代码
时间: 2024-03-14 15:46:32 浏览: 190
估值手册:最新A股、港股和美股估值.pdf
好的,以下是一个兼容美股、港股和 A股股票代码的优化代码:
```python
import yfinance as yf
import akshare as ak
def get_stock_price(stock_code=None):
if not stock_code:
stock_code = 'BABA' # 默认为阿里巴巴股票代码
if stock_code.isnumeric(): # 数字代码为 A股或港股代码
if len(stock_code) == 6:
stock_code += '.SS' # A股代码在股票代码后面加上 .SS
else:
stock_code += '.HK' # 港股代码在股票代码后面加上 .HK
stock = ak.stock_zh_a_daily(symbol=stock_code)
return stock.iloc[-1]['close']
else: # 字母代码为美股代码
stock = yf.Ticker(stock_code)
stock_info = stock.info
return stock_info['regularMarketPrice']
# 查询阿里巴巴股票价格
print(get_stock_price())
# 查询苹果股票价格
print(get_stock_price('AAPL'))
# 查询中国平安股票价格
print(get_stock_price('601318'))
```
这段代码使用了 `akshare` 库来获取 A股和港股的股票价格信息。首先判断传入的股票代码是否为数字,如果是数字则表示为 A股或港股代码,根据股票代码长度来判断是 A股代码还是港股代码,然后在股票代码后面加上 .SS 或 .HK 后调用 `ak.stock_zh_a_daily` 函数获取股票价格信息。如果传入的股票代码为字母,则表示为美股代码,调用 `yfinance` 库来获取股票价格信息。
阅读全文