pub struct Day {
pub date: u32,
pub code: u32,
pub open: f32,
pub high: f32,
pub low: f32,
pub close: f32,
pub amount: f32,
pub vol: u32,
}
Expand description
解析 *.day
文件中的一条日线数据,即其 32 个字节所代表的所有信息。
注意:这个类型只对 *.day
文件进行了初步解析,
所以日期 date
和股票代码 code
都是 u32
类型,
§注意
开启 serde
feature 时,此结构体的序列化 (serialize) 时:
date
为年-月-日
格式code
为 6 位字符串的股票代码
Fields§
§date: u32
§code: u32
§open: f32
§high: f32
§low: f32
§close: f32
§amount: f32
§vol: u32
Implementations§
source§impl Day
impl Day
sourcepub fn from_bytes(code: u32, arr: &[u8]) -> Self
pub fn from_bytes(code: u32, arr: &[u8]) -> Self
从 *.day
文件中获取数据,该文件中,每 32 个字节存储了一根日线数据,
各字节存储数据如下:
字节位置 | 含义 | 解析方式 | 额外处理 |
---|---|---|---|
00 ~ 03 字节 | 年月日 | u32 | 见下文 |
04 ~ 07 字节 | 开盘价 | u32 | 所解析的数字/100 |
08 ~ 11 字节 | 最高价 | u32 | 所解析的数字/100 |
12 ~ 15 字节 | 最低价 | u32 | 所解析的数字/100 |
16 ~ 19 字节 | 收盘价 | u32 | 所解析的数字/100 |
20 ~ 23 字节 | 成交额(元) | f32 | / |
24 ~ 27 字节 | 成交量(股) | u32 | / |
28 ~ 31 字节 | 保留字段 | / | / |
年月日处理方式:例如对 20210810
结果进行如下处理
年:20210810/10000 = 2021
月:20210810%10000/100 = 8
日:20210810%10000%100 = 10
sourcepub fn from_file_into_vec<P: AsRef<Path>>(code: u32, p: P) -> Result<Vec<Day>>
pub fn from_file_into_vec<P: AsRef<Path>>(code: u32, p: P) -> Result<Vec<Day>>
一次性以同步方式读取单个 *.day
文件所有数据,然后转化成 Vec。
sourcepub fn date_string(&self) -> String
pub fn date_string(&self) -> String
%Y-%m-%d
格式的日期
Trait Implementations§
impl Copy for Day
Auto Trait Implementations§
impl Freeze for Day
impl RefUnwindSafe for Day
impl Send for Day
impl Sync for Day
impl Unpin for Day
impl UnwindSafe for Day
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more