股票行情处理:不复权,前复权,后复权

不复权的话,K线图能真实反应股价历史的除权信息,缺点是会留有大缺口,股价走势不连续,不能直观感受股价的涨跌波动。
前复权是以目前股价为基准复权,可以很清楚的看到股价的历史高点、低点,以及目前股价所处的位置是高还是低。我们大多数时候都是看前复权价格,这样当前的价格是最新的实际价格,且K线的走势是连续性的。但是,前复权有一个问题是无法正确反应长期的股票涨幅。很多上市时间比较久的公司如果分红比较多,用前复权看以前的股价会出现负数的情况。这样就无法正确计算投资收益了。
后复权是保持上市第一天的价格不变,根据分红配股数据处理之后的价格,这会导致最后一天的价格显示出来不是当前实际成交价,但可以看出股票真实价值的增加及持股者的真实收益率,查询也比较直观。但是,由于后复权的K线价格和当前的成交价相差较大,容易对用户造成一定困扰。

### 使用 Tushare 获取复权后的历史股票数据 为了获取复权后的股票历史数据,可以利用 `tushare` 库中的接口。具体来说,`pro_api` 提供了一个名为 `daily_basic` 的方法来访问每日基本行情信息,而 `adj_factor` 方法则提供了复权因子的数据。 下面是一个完整的 Python 脚本示例,展示了如何通过 Tushare API 来获取并处理某只特定股票复权或后复权调整后的日线数据: ```python import tushare as ts from datetime import date, timedelta def get_adjusted_stock_data(ts_code='000001.SZ', start_date=None, end_date=date.today()): """ Get adjusted historical stock data from Tushare. Parameters: ts_code (str): Stock code e.g., '000001.SZ' start_date (date/None): Start Date for fetching records; None means all available history end_date (date): End Date for fetching records Returns: DataFrame containing daily trading information along with adjustment factors applied. """ # Initialize pro interface of Tushare with your token here pro = ts.pro_api('your_tushare_token') # Fetch raw unadjusted price series df_prices = pro.daily(ts_code=ts_code, start_date=start_date.strftime('%Y%m%d') if start_date else '', end_date=end_date.strftime('%Y%m%d')) # Fetch adj factor table corresponding to this ticker symbol df_adj_factors = pro.adj_factor(ts_code=ts_code) # Merge two tables by trade dates so that we can apply adjustments properly merged_df = pd.merge(df_prices, df_adj_factors[['trade_date', 'adj_factor']], on=['trade_date']) # Apply forward/backward fill strategy depending upon whether you want pre/post-adjustment prices respectively merged_df['close'] *= merged_df['adj_factor'] del merged_df['adj_factor'] return merged_df.sort_values(by="trade_date") if __name__ == "__main__": result = get_adjusted_stock_data() print(result.head()) ``` 此脚本定义了一个函数 `get_adjusted_stock_data()` ,它接受三个参数:股票代码 (`ts_code`)、起始日期(`start_date`) 和结束日期 (`end_date`) 。该函数返回一个包含已应用复权因子的日交易记录表单。注意,在实际调用之需替换 `'your_tushare_token'` 为你自己的 Tushare Token[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值