The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
asharechips estimates daily holding-cost distributions
for mainland Chinese A-share equities. It provides offline preparation
of Tushare tables, explicit turnover-replacement models, optional price
adjustment and initial distributions, cost statistics, graphics and
per-day diagnostics. The estimates describe a model of circulating
shares; they do not identify actual investors.
The package needs only base R and the recommended
graphics package at runtime. No token, network access or
external data is needed for its examples or tests.
中文入门说明:筹码分布模型与使用方法。
Install the development version from GitHub:
install.packages("remotes") # Needed only for installation from GitHub
remotes::install_github("3142115360-web/asharechips", build_vignettes = TRUE)
library(asharechips)Alternatively, install a locally built source archive:
install.packages("asharechips_0.2.1.tar.gz", repos = NULL, type = "source")
library(asharechips)# Synthetic prices and turnover; this is not a real stock history.
daily <- data.frame(
trade_date = c("20260106", "20260102", "20260105"),
high = c(12, 10, 11), low = c(12, 10, 11), close = c(12, 10, 11),
vol = c(100, 100, 100), amount = c(120, 100, 110),
turnover_rate = c(30, 0, 20)
)
chips <- estimate_chip_distribution(daily)
summary(chips)
as.data.frame(chips)
plot(chips, main = "Synthetic cost distribution")
chip_mean_cost(c(10, 11, 12), c(50, 20, 30))Download daily, daily_basic and optionally
adj_factor through your own Tushare account. Supply those
tables locally:
input <- prepare_tushare_data(daily, daily_basic, adj_factor,
ts_code = "000001.SZ", as_of = "20260930")
chips <- estimate_chip_distribution(input, adjustment_col = "adj_factor")This code assumes that the three tables have already been downloaded. All retained daily dates must have matching indicators and factors. No daily rows are silently lost. When passing factors, use original unadjusted daily prices.
| Input | Required units or meaning |
|---|---|
high, low, close |
CNY per share |
vol |
Lots of 100 shares |
amount |
Thousand CNY |
turnover_rate |
Percentage points: 5 means five percent |
adj_factor |
Positive factor, normalized to the last observed date |
float_share |
Optional circulating share count, in ten thousand shares |
The default transaction price is amount * 10 / vol,
following the official daily-data
units. The turnover denominator follows Tushare’s daily
indicator definition.
At each update, the distribution is the sum of retained previous
weight and new transaction weight. With reported turnover r
in percentage points:
retention = exp(-r / 100) # default
new distribution = retention * old distribution
+ (1 - retention) * today's price distribution
The exponential choice is a homogeneous random-replacement
assumption. The linear choice retains 1 - r / 100 and
requires r <= 100. New weight can be placed at VWAP, a
typical price, close, or uniformly across the low-high range. Grid
spacing, transaction-price method and history length change the
result.
The default initializes all shares from the first row, then updates
from row two. A supplied initial_distribution must be on
the final date’s price basis and is updated starting with row one.
initialization_weight reports how much of that initial
model survives, while history_coverage reports its
replacement.
Profitable weight is strictly below the final close. Equal-price
weight is reported separately as breakeven_ratio. Cost
quantiles are discrete left-inverse quantiles. Tied peaks use the lowest
price. These definitions are documented in
?estimate_chip_distribution, along with every output
field.
Daily data cannot reveal which holdings were sold, intraday
transaction-price distributions, investor identities or the costs of
newly unlocked or issued shares. Changes to float_share
trigger a warning; they are not automatically modelled. Dividend
adjustment provides a comparable price basis rather than literal cash
acquisition costs. Transaction fees and taxes are excluded. The
estimates are descriptive and do not predict future returns.
vignette("introduction", package = "asharechips")Chinese guidance is installed as
system.file("README.zh-CN.md", package = "asharechips").
Help files in man/ are maintained directly rather than
generated from roxygen comments. To reproduce checks:
R CMD build asharechips
R CMD check --as-cran asharechips_0.2.1.tar.gz
The repository includes a Windows, macOS, Linux and R-devel check workflow. Results appear under the repository’s Actions tab after each push.
The workflow’s presence alone does not mean that every check has passed; inspect the individual jobs and their logs before relying on a release candidate.
MIT, copyright Ruihong Zhao. See inst/LICENSE.txt for the full text. The R
package license metadata is in LICENSE; the full license is
also installed as LICENSE.txt.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.