# @d3fc/d3fc-random-data 中文文档

规范地址：https://npmcn.com/package/%40d3fc/d3fc-random-data/

版本：4\.0\.2
npm 元数据更新时间：2024-06-13T14:55:10.711Z
中文译文更新时间：2026-11-11T08:08:32.767Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40d3fc/d3fc-random-data
原文对照：https://npmcn.com/package/%40d3fc/d3fc-random-data/?lang=original
项目主页：https://github.com/d3fc/d3fc
源码仓库：https://github.com/d3fc/d3fc

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：32.7 kB，13 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- 运行依赖：1 个
- peer 依赖：d3-random \*，d3-time \*
- 首次发布：2018-08-02T13:53:22.485Z
- 最新版本发布：2024-06-13T14:55:10.475Z
- 近 30 天下载量：61626（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：24（近 12 个月 0 个）

## 中文简介

基于随机过程生成随机数据序列的组件

## 安装

```sh
npm install @d3fc/d3fc-random-data
```

也可以使用：`pnpm add @d3fc/d3fc-random-data`、`yarn add @d3fc/d3fc-random-data`、`bun add @d3fc/d3fc-random-data`

## README

# d3fc-随机数据

基于分解过程生成随机数据序列的组件.

[主要 D3FC 软件包](https://github.com/d3fc/d3fc)

## 安装

```bash
npm install @d3fc/d3fc-random-data
```

## API 参考

### 财务

随机金融数据生成组件生成开放式高低量金融数据. 价格是使用 [brownian 几何运动发生器](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-geometric-brownian-motion)。 。 。 .

```javascript

import { randomFinancial, randomSkipWeekends } from 'd3fc-random-data';

const generator = randomFinancial()
    .startDate(new Date(2016, 0, 1))
    .startPrice(100)
    .filter(randomSkipWeekends);

generator(4);

// [
//   {
//     date: 2016-01-01T00:00:00.000Z,
//     open: 100,
//     high: 100.37497903455065,
//     low: 99.9344064016257,
//     close: 100.13532170178823,
//     volume: 974
//   },
//   {
//     date: 2016-01-04T00:00:00.000Z,
//     open: 100.2078374019404,
//     high: 100.55251268471399,
//     low: 99.7272105851512,
//     close: 99.7272105851512,
//     volume: 992
//   },
//   {
//     date: 2016-01-05T00:00:00.000Z,
//     open: 99.7272105851512,
//     high: 101.06403178230532,
//     low: 99.7272105851512,
//     close: 101.00200313600685,
//     volume: 835
//   },
//   {
//     date: 2016-01-06T00:00:00.000Z,
//     open: 101.00200313600685,
//     high: 101.41129520567128,
//     low: 100.50311227829566,
//     close: 100.5536971451326,
//     volume: 1021
//   }
// ]

```

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rf) 页:1.**随机财务**(a) 与《公约》有关的其他事项

构造一个新的财务数据生成器.

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rf_) _随机财务_(单位:千美元)_点_(中文(简体) )

运行发电机。 返回数组 _点_ 对象数 `date`, (中文(简体) ), `open`, (中文(简体) ), `high`, (中文(简体) ), `low`, (中文(简体) ), `close` 财务报告和审定财务报表 `volume` 属性.

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rf_startDate) _随机财务_。 。 。 .**开始日期**(\[_价值_)

若为 _价值_ 指定,将起始日期设定为指定日期 `Date` 对象并返回生成器实例. 若为 _价值_ 未指定,返回当前起始日期,该日期默认为 `new Date()` 当发电机建成的时候.

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rf_startPrice) _随机财务_。 。 。 .**启动价格**(\[_价值_)

若为 _价值_ ,将启动价格设置为指定的数字,并返回此生成器实例. 若为 _价值_ 未指定,返回当前启动价格,该价格默认为 `100`。 。 。 .

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rf_interval) _随机财务_。 。 。 .**间隔**(\[_价值_)

若为 _价值_ ,将时间递增设置为指定的 [d3 时间间隔](https://github.com/d3/d3-time#intervals) 返回此生成器实例. 若为 _价值_ 未指定,返回默认的当前间隔 `d3_time.timeDay`。 。 。 .

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rf_intervalStep) _随机财务_。 。 。 .**间隔步骤**(\[_价值_)

若为 _价值_ 中,将返回点的间隔数被指定的整数所抵消,并返回此生成器实例. 若为 _价值_ 未指定,返回当前间隔数,默认间隔数为 `1`。 。 。 . 在内部,该数值提供给 _步骤_ 间隔参数 [页:1](https://github.com/d3/d3-time#interval_offset)。 。 。 .

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rf_steps) _随机财务_。 。 。 .**步骤**(\[_价值_)

获取/设定数字 [几何布朗运动模拟所用的步骤](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-gbm_steps) 百分比 _间隔步骤_ 间隔数. 更高的数字会给出一个更慢但分辨率更高的模拟.

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rf_mu) _随机财务_。 。 。 .**吴**(\[_价值_)

获取/设置 [几何布朗运动模拟用的漂移](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-gbm_mu)。 。 。 .

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rf_sigma) _随机财务_。 。 。 .**西格玛**(\[_价值_)

获取/设置 [brownian几何运动模拟所用的波动](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-gbm_sigma)。 。 。 .

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rf_random) _随机财务_。 。 。 .**随机**(\[_价值_)

获取/设置 [几何 Browsian 运动模拟所用的随机函数](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rgbm_random)。 。 。 .

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rf_unitInterval) _随机财务_。 。 。 .**单位间距**(\[_价值_)

若为 _价值_ 中,设置用于 _吴_ 财务报告和审定财务报表 _西格玛_ 对指定的 [d3 时间间隔](https://github.com/d3/d3-time#intervals) 返回此生成器实例. 若为 _价值_ 未指定,返回默认的当前间隔 `d3_time.timeYear`。 。 。 .

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rf_unitIntervalStep) _随机财务_。 。 。 .**单位 IntervalStep**(\[_价值_)

若为 _价值_ 中,设置用于 _吴_ 财务报告和审定财务报表 _西格玛_ 转到指定的数字并返回此生成器实例. 若为 _价值_ 未指定,返回默认的当前间隔 `1`。 。 。 . 例如,交易年单位: _吴_ 财务报告和审定财务报表 _西格玛_ 而不是日历年,设定 _单位 IntervalStep_ 改为 `252` 财务报告和审定财务报表 _单位间距_ 改为 `d3_time.timeDay`。 。 。 .

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rf_volume) _随机财务_。 。 。 .**音量**(\[_价值_)

若为 _价值_ ,设置用于将点的音量返回到指定的函数并返回生成器实例. 可以是将输出对象映射到数字的函数,也可以是数字函数. 若为 _价值_ 未指定,返回当前音量,该音量默认为以正态分布为中心的函数采样整数 `1000`。 。 。 .

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rf_filter) _随机财务_。 。 。 .**过滤器**(\[_价值_)

若为 _价值_ ,将筛选函数设置为指定的函数,并返回生成器实例. 只输出对象 `d` 对其中 `filter(d)` 返回时 `true` 将包含在输出阵列中. 若为 _价值_ 未指定,返回默认为 `(d) => true`。 。 。 . 要跳过周末, 请提供预定义的过滤器 `fc_random_data.skipWeekends`。 。 。 .

### 金融流

使用流媒体接口来连续调用来生成数据,以跟踪最新的日期和价格.

```javascript

import { randomFinancial } from 'd3fc-random-data';

const generator = randomFinancial()
    .startDate(new Date(2016, 0, 1))
    .startPrice(100);

const stream = generator.stream();
let data = [];

data.push(stream.next());
// data.length -> 1

data = data.concat(stream.take(2));
// data.length -> 3

data = data.concat(stream.until(d => d.date > new Date(2016, 0, 10)));
// data.length -> 10

```

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rf_stream) _随机财务_。 。 。 .**流线**(a) 与《公约》有关的其他事项

构建现有财务数据生成实例中的新流.

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-stream_next) _流线_。 。 。 .**下一个**(a) 与《公约》有关的其他事项

返回单个输出对象,其日期从最近返回的输出对象的日期起,按照生成实例进行递增 _间隔_ 财务报告和审定财务报表 _间隔步骤_ 属性,或带有 _开始日期_ 如果这是第一个电话.

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-stream_take) _流线_。 。 。 .**带**(数目)

返回长度数组 _编号_ 输出对象,每个对象,日期递增,按生成实例排列 _间隔_ 财务报告和审定财务报表 _间隔步骤_ 属性,从最近返回的输出对象的递增日期开始,或从 _开始日期_ 如果这是第一个电话.

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-stream_until) _流线_。 。 。 .**直至**(比较)

通过反复生成单个输出对象,并根据生成器实例增加日期来返回构建对象的数组 _间隔_ 财务报告和审定财务报表 _间隔步骤_ 属性,直到生成对象满足了提供的比较函数的条件,只有在条件不满足时才附加到输出数组中.

### 几何布朗式运动

几何 Browsian 运动组件基于 [几何布朗式运动](https://en.wikipedia.org/wiki/Geometric_Brownian_motion) 结构化过程.

```javascript

import { randomGeometricBrownianMotion } from 'd3fc-random-data';

const generator = randomGeometricBrownianMotion()
    .steps(10);

generator(10);

// [
//   10,
//   10.272847363463436,
//   10.423881104466574,
//   10.629316182766384,
//   10.7209321393133,
//   10.773722182206432,
//   10.229636144307582,
//   10.225282323984114,
//   10.488138829847468,
//   10.428118194568341,
//   10.848822656937935
// ]

```

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rgbm) 页:1.**随机图形褐色运动**(a) 与《公约》有关的其他事项

构造一个新的几何布朗式运动发电机.

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rgbm_) _随机图形褐色运动_(单位:千美元)_开始_(中文(简体) )

返回几何 Brownian 运动后的一连串价格值,并设定漂移和起伏,因为起始价格为 _开始_。 。 。 . 第一个阵列值是提供的起动价格,然后是 _步骤_ 每个步骤结束时的模拟价格值对应的数值.

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rgbm_mu) _随机图形褐色运动_。 。 。 .**吴**(\[_价值_)

若为 _价值_ 中,将时间段的百分率漂移设置到指定的数字并返回该生成实例. 若为 _价值_ 未指定,返回当前漂移,该漂移默认为 `0.1`。 。 。 .

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rgbm_sigma) _随机图形褐色运动_。 。 。 .**西格玛**(\[_价值_)

若为 _价值_ 中,将百分比波动设为指定数字,并返回该生成实例. 若为 _价值_ 未指定,返回默认为 `0.1`。 。 。 .

[{\\fn方正粗倩简体\\fs12\\an8\\1cHFFFF00\\b0}](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rgbm_period) _随机图形褐色运动_。 。 。 .**期间**(\[_价值_)

若为 _价值_ 中,将间隔长度设定为指定的周期数,并返回此生成实例. 若为 _价值_ 未指定,返回当前间隔长度,默认间隔长度为 `1`。 。 。 .

[](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rgbm_steps)_随机图形褐色运动_。 。 。 .**步骤**(\[_价值_)

若为 _价值_ ,设置离散步骤的数目,将间隔分到指定的数字并返回此生成器实例. 若为 _价值_ 未指定,返回当前步骤数,默认为 `20`。 。 。 .

[](https://npmcn.com/package/%40d3fc/d3fc-random-data/#readme-rgbm_random)_随机图形褐色运动_。 。 。 .**随机**(\[_价值_)

若为 _价值_ 指定,设置用于生成带有正常(Gausian)分布到指定函数的随机数字的函数,并返回此生成器实例. 若为 _价值_ 未指定,返回默认为 [`d3_random.randomNormal`](https://github.com/d3/d3-random#randomNormal)。 。 。 .

## 常见问题

### @d3fc/d3fc-random-data 是什么？

基于随机过程生成随机数据序列的组件

### 如何安装 @d3fc/d3fc-random-data？

在项目目录运行 npm install @d3fc/d3fc-random-data，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：d3-random（\*）、d3-time（\*）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @d3fc/d3fc-random-data 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/d3fc\_\_d3fc-random-data 是否存在。

### @d3fc/d3fc-random-data 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @d3fc/d3fc-random-data 可以商用吗？

@d3fc/d3fc-random-data 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @d3fc/d3fc-random-data 的下载量有多少？

根据 npm 官方下载统计，@d3fc/d3fc-random-data 在 2026/10/11 – 2026/11/09 这 30 天内被下载 61,626 次，日均约 2,054 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @d3fc/d3fc-random-data 还在维护吗？

最新版本 4\.0\.2 发布于 2024/06/13（2 年前）；至今共发布 24 个版本，其中过去 12 个月发布了 0 个；首次发布于 2018/08/02。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

