|
|
改了一下,这次运算应该没啥问题了
4 J$ P7 I6 ~9 Y6 Q/ X% w8 _3 m8 H% b
+ D3 f, t/ a9 A$ V; Q. z1 \# \* kcapture program drop hello, h7 q& ?8 M6 B( O0 K$ i( B
K0 J# }6 i9 Rprogram hello
4 d# g6 S1 q4 j$ b, ?7 t, S1 o" a/ ]
quietly {
4 j" s' [4 ^, G2 x0 K; z0 l6 c' N- h, s! s/ w; v1 O: K3 Z4 R
clear
& {, G/ `8 y# g. _5 q( i' a s
2 |3 J% v$ k2 [& t5 |0 icd e:\finance\stock\20110101\source, C& a. h! U H( z1 L" v
; v2 ]; V' c6 q; B' T+ B1 W p6 Q; l
insheet using `1'.txt, L5 A t6 W0 Y0 a1 B$ }' s" W
* y( ^/ _! b8 W2 w- }2 [* o keep if v5>0( E& u O" o: W/ J) n7 `8 n
. O1 @% [& k5 ? gen vt=_n: x* w8 t7 H' x6 z9 I# ~' m8 n
: i. S) a5 X7 K% g) V9 P. A7 d: C+ m tsset vt; o: a; Y7 S9 q( I4 A
3 ~0 u0 T C: e8 E
gen zf=D1.v5
* }7 O3 v' G) A; T& q5 ~* w& G w$ B0 l C$ Q3 z' l1 |" x i
gsort -v1
0 J5 g5 |" h/ L' `9 t( e* M& j9 s
gen avol=v7/v5$ b: d1 L5 y. _6 }, T* {. Z
}/ N( w+ E3 q# S$ H; @" V keep if avol>0
" F" x0 t$ \9 H: }4 d! I 7 h& n7 n- P; Q6 ~* C! _4 Q+ j; H
drop vt* `4 |1 V& P w- W: s. O
. q3 i- ?! H' c' ?% {) X
gen vt=_n
, S8 ^# J/ ]* { i9 E. K4 Z $ X8 ~# t+ Y* o0 j6 c- T
tsset vt
/ \0 ^% P2 ]7 } J - Q9 M( [( m L
sum v5 [aw =avol]" S, `3 B% f9 w6 C6 @8 [- r; S' F
7 a- _6 S+ S' }( `: ]" k* O6 S
gen amean=r(mean) in 1
! j7 m% \; V; D- |! _ ! _8 O/ s7 e H+ q |: I. N
* 总加权平均值 amean K* Y3 G5 d7 z7 d5 U' \% e
2 J! ~, {) f( H
$ l; z) ?( ~8 {6 s. l
keep in 1/240
4 U5 P8 J9 b+ ~( K
. k8 y" V; D' K! @ sum v5 [aw =avol]
+ e3 z7 `: \" r5 h7 z
& C7 o/ t, B* M3 b5 \/ x' S. r gen mean240=r(mean) in 1: F1 U4 n `: U& M/ O9 e
! |1 ^* H2 I8 f1 D. S( p$ @8 [! D$ D
*240加权平均值 mean240
% l$ K+ z3 K9 T
0 Z& ~; U: j" I0 K. v6 A8 W" E: O set obs 500
; Z% t# I+ E8 a7 g
* w# |# q0 p" h kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
0 }: c. O7 N. t) _
1 D& ~1 j) R$ ]$ Z7 Y# B: u/ E$ B *240 kdensity(dx240 dy240)
5 t2 r+ |# `0 P5 r4 e ( A: t1 f( J& p8 { a( \
sum dy240
- K3 [# D7 h$ m. p( c7 w
& j ^# M0 i. R8 A; M' s gen yxis=r(max) in 1
: B: g% O5 b2 X& v% b, [/ w0 ?
: G/ d: Z8 Q2 Q) y" D gen yxis2=yxis/2
3 y" k. ` ~5 j 2 M I5 x; U" i
*yxis
2 [: z, U c7 O# z$ Y- F
5 D, a0 A$ V1 X gen dy240max=r(max)
% ~8 o$ |7 Q/ X+ d% d1 p f $ P) x5 K& ^& @$ y# K5 H$ S% k0 m
gen dy240minp=r(min)
6 u# Z& m* V! x! \ 9 L9 j, l6 U* |
gen vtt=_n5 M9 W6 E$ V4 _2 `0 X# N* u+ S
/ U/ j% b" `. z1 ~- I! `
tsset vtt
2 _0 G- w9 j' l, }7 V- c6 D3 _" f. E( i V
gen ddy240=D1.dy240/D1.dx240
5 ~4 g* V1 W. b 5 l5 L3 |* v9 w3 r8 e
sum ddy240
* N* }1 l9 f3 X
2 ]) v$ G. V9 G0 Y F gen ddy240max=r(max)+ K) e4 h6 d" K1 t7 ]2 q0 e% m
( W! c0 |# ]+ c7 O gen ddy240min=r(min)
; ^6 ^/ O* I6 X7 B2 B' Q
- N8 a2 N- k* i; V6 Q5 g gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)8 M# l( F Y" C! W4 r# l0 z
9 W: ]6 E5 d9 S4 _+ n; I i# E: L
sum ddy240g
5 _/ O: K' g8 C! P8 X9 a # j8 ?% |( J2 {: L
gen yxis3=r(min) in 14 q) _9 R; ?7 S6 g
- g5 D) d9 I+ V; }2 j% l* ]
gen yxis4=0 in 13 Q. N3 m, A4 f4 n \9 X5 Z, P
3 w# S" e! L2 d9 A' e *ddy240g
! m& ?/ L7 \) g- U7 i7 g) k & k" J7 Q! E/ z
7 Y. n7 a N# P" } preserve 9 q3 b0 r( N9 k5 A V1 H
" _& h9 o5 E. b+ C6 a3 K% C& G# m sum v5 [aw =avol]
, p! l! A- Q. Q" _$ I
8 v7 X0 [% J) c/ u, K+ @8 h" ^: n keep if dx240<r(mean)
$ L% Q3 ~4 i0 [7 w- u3 [
& A$ H9 a B6 ~0 ?/ a( v sum ddy240
2 J+ o% B: `& v
' h/ N3 v( C {8 H# r! d& v if r(min)<0 {) y5 b1 y7 A5 E/ ] w
6 ], Y9 X% n" n keep if ddy240<=0$ M) X# Z+ F. f" U u
+ h4 A* k, a5 `! G8 E
count# R2 l% L6 A$ P1 V0 q
7 Y( J4 a( X6 m1 V+ \9 N9 O
if r(N)>2 {9 Q# m9 v+ E9 J+ F% ^* C$ w
( A/ @' b$ k4 A/ u3 |3 v0 }; x
pkexamine dx240 dy240. w5 S1 Q5 L: a( |9 Y" M
d7 b, \8 r6 K' p7 W2 n. Z4 Y
local tempminp=r(tomc)
' c) n5 ]" j, |/ W" ?# H restore ( N7 Y% K" E E( m6 w( J1 Q
}3 P, x6 s1 I# C, P Y
: q2 w8 T8 |2 Q2 U3 \/ I! C- w- s else {7 U& C7 Q+ a; t: r' {5 k
/ u" ?! g6 q2 U0 I/ E" C, x di "cannot find minp"
- ]: }; v9 X( p$ z2 u2 r& s) w
; i7 U( \) _4 F restore
( P4 j2 L7 i3 M% P6 u+ c c: a sum dx2405 D4 I' T. ]7 \
local tempminp=r(mean)
( |4 \' k. }0 {# S
m. d0 l( G% R6 I) u, L }! b' B, ]- Y1 I: o2 _) e
}
' C7 {- b5 B( s% b- b4 Y+ h else {; v8 W% @- B8 n) N2 k, u+ H# @
( d' V+ x5 U" R: b5 ~( ` keep if ddy240<=r(min)
& k- {! o) f5 G3 T7 G" z D/ z , M9 ^* o: z8 f; j7 Y) r- \
sum dx240
9 ^' N: g+ o2 ?) L* Y' ]9 g - R3 {; [7 Q" _0 A9 [# ]
local tempminp=r(min)
- F8 D8 N9 O5 J6 y" d. h restore
! ^* b; p9 K- C0 y; I- L }
6 I% z) q1 F n+ w' ?& R& ?% f% w, S7 E8 f/ u6 s( {
7 y" J I" K& m/ L
$ M& B, y! i" r- K( c# U- X c
gen minp=`tempminp' in 1
7 {0 i* s. k% y0 q *240 minp/ A9 z4 `& `& w( Z; I
* f+ K6 n% ~) o
5 V1 f$ P4 Y! g+ k. ~( y5 R9 {
) x7 h3 T& l1 ~/ I preserve ; Z0 i- b8 T" v" P2 j2 T# C
2 l8 O) i, S7 M, b
sum v5 [aw =avol]4 S9 R! i( R; `( Q1 `: o
+ D, z I5 U- q* p6 G
keep if dx240>r(mean)- {' m R, h0 F# @: ?+ G! M3 l
' @# b8 G5 T( G
sum ddy240
) }7 {7 X. x$ z% b ; }. P- i% k. b
if r(max)>0 {
$ ]' t+ h6 \# z- d& l 0 d h( s5 u; ~: f0 [0 w; ]! L3 M
keep if ddy240>=0 u! R0 O4 D4 u& e
* Z b1 `- R9 p9 D count( [. `& Z5 r+ n- ^9 S* q, j7 }
# F4 a8 x, Q' i2 p# u4 R if r(N)>2 {8 v4 b; l( v0 {' r1 Z7 T
& N9 H/ l; r) \, Q
pkexamine dx240 dy2406 a6 B1 O/ b3 C& E' g8 w8 [
6 x2 P9 B. C1 w' q local tempmaxp=r(tomc)
8 d/ t$ f( }; `" J' B restore
9 J3 t( q5 P. I, v+ q G" V }
* t. O. z- w7 U3 W" _$ f& K
5 j4 \# i( H% D8 y" m S$ [) D! W; Q+ L
else {
0 t7 C m# ?6 o$ o8 V1 [ restore ; J! a) E& ]9 a2 d- z4 G" Z
di "cannot find maxp"
& ?& A' l1 U5 _$ I4 D6 f , Q3 Z3 L# @0 l* s
4 ? j8 R5 w2 N3 t$ L/ @4 k sum dx240
F! b4 W$ g) x7 p local tempmaxp=r(mean)" \: K: _) p% }1 E6 u1 W
1 @8 h* y0 ~& o- Y8 V+ ~- l }
1 U2 t$ v: h* c/ Z- y- h 4 C8 g- L" z! O' o3 c, j+ C! Z
}# E8 G. R7 m. [/ u% s
\6 S# U: f" y( R$ z8 b
else { N! ~, }- ^; l( G& c
% q$ l1 w- { R) O* d, g
keep if ddy240>=r(max); ]( F6 B o/ H
* S6 o+ k, V5 D B7 Q sum dx240# K# D6 |8 Z' Z/ g; J0 j- x3 `
7 \- O' L% ? U5 D( v% e% Q
local tempmaxp=r(max) % F: W1 K1 S6 N
restore / O$ H/ ]- y0 g
}
/ \/ p$ A4 l' R) j2 J ) E! w1 M* p% V8 V F& t
# U8 V \! s5 P. ]; c9 |3 q
& \. t& ?* X; M9 M+ P5 K
) S5 N% s$ Q3 `! m2 D% q8 G gen maxp=`tempmaxp' in 19 h) c& e% L1 | x
0 h. P& P( C* Q1 A% B
*240maxp" u6 k5 q) \3 ^ B+ O
. U# p- \+ K. y6 N6 G2 Y( s1 F$ @/ y
0 t! m, q+ G; O
*-------------ddy240pminp左侧高峰值-----2 r ], ^$ g6 D
" L- e ^4 N+ @$ R preserve
n3 e+ x0 q# ?3 q! ]# W
4 g" X1 H: ^% N/ H1 K4 h% p keep if dx240<`tempminp'
+ o8 l1 q5 J5 ?5 n
% y" b, P: V* [! [$ |7 _( _ keep if ddy240>0
0 X d Z" `! O4 e + s3 [0 F$ `! |' z
count
& \$ w$ q& N, J+ _) H0 u& T6 c
: H& U9 s! l" s. { if r(N)>2 {" t# A! H0 w; d6 G
2 C7 v& a8 G; u/ | `
pkexamine dx240 ddy2409 o, V, v$ h' C0 `8 _ J; u
/ T" l) l4 Q0 v8 O' I
local tempminphddy240=r(tomc) / g1 m5 o4 _+ ]: J5 N
restore
% u, Y: u2 o6 _0 k; Z1 d- M1 U }
* u9 l k& b3 z- E, P5 D3 [
3 b) d5 q* k F0 v4 A& c else {/ G/ a$ ~! ]. f& y) q7 K
restore
1 v D @. i# I7 P- E3 z di "cannot find pminphddy240"
. c+ I3 ~& I; Q6 _7 C % k( Q3 @: s3 A9 A. Z" X4 S
: f1 }' R+ n% d s% S2 `
sum dx240
[0 B" J& k6 p6 G1 M' i: |$ \ local tempminphddy240=r(mean)
; _9 m0 e8 A# L 4 _9 f, G. @& A
5 C) R; u/ K9 r
}
8 Y1 ]* L! H0 D9 y3 |( w a+ A r
( ]) _ j9 G* Q2 r! C . o0 t" p! f- N$ e z
: c5 g* @8 C" ?3 c; _: D% h
9 i* `* I6 {: ^3 f2 E* u0 N% h ! T5 H* W3 m5 ]3 q
- B2 ^' f: \, X/ M% u# I
gen pminphddy240=`tempminphddy240' in 13 O- i1 a$ F% V* p9 v* U
. C. C! ? Z: |- l+ U
3 R. i- w1 D% U* j& Y, @ *-------------ddy240pminp右侧低峰值 -----------------# F; r: I- x4 V! D5 q1 e6 O
preserve ' {1 B$ N- V5 r4 h- N4 k! v
% N6 p( E* Q `- g# `% t
keep if dx240>`tempminp'
* j. C- R' w: y' a L , F0 d1 p+ E7 k
keep if dx240<`tempmaxp'
% g" Y$ W- o* t) |2 L
/ V8 D9 b2 E3 z5 j- ]. f- } keep if ddy240<0 J( C; o* w6 j' Q
) \8 P9 q# x, j' A- G, d gen temddy240=-ddy240, A* T: C) ^) E7 A) O7 H$ s
8 X) {4 N" U% Y# N/ I count
' E5 M) Z; ^+ F2 p' \
0 @' R# \1 ^! g$ Y0 U if r(N)>2 {; d) [% E$ N3 I' `
_# H" @% J' V& U" D% V
pkexamine dx240 temddy240
. g, g0 } F5 e) e * d1 h2 g7 p0 {: d
local tempminplddy240=r(tomc)
) i9 T- |4 G9 A/ `0 A restore& h4 }2 d9 |& I" k0 X6 _7 I
}
% p- J0 n6 {- p, u+ A- T
; U$ a3 \" _8 F+ m else {$ J( _) h$ X' ?! k3 g) u* O2 j
" D- `) o* q5 b0 `, I5 {" A
di "cannot find pminplddy240"
" K2 s, ~* n) d ^: K7 P restore8 I% C3 Y2 k1 O5 X8 Q
: y- ^9 R! J, @1 R sum dx240
1 I) s& f% o0 F8 `7 H local tempminplddy240=r(mean)
# j6 X" r8 q @$ q; _3 S3 E( ^ ) G. N, ?& ^9 R& g6 h" P6 j
2 s* f0 I) g: b8 V6 }
}4 z4 t4 R: x5 e8 b# A: t9 V
8 H: f% F+ M6 y- e2 r/ | * D3 K7 \! Z# @" w5 o9 X9 ^1 @% z
4 [7 G& l/ l% [- I" J0 O# J
! s2 u; i* y& | v+ @
, k: H! ~ f) @4 M gen pminplddy240=`tempminplddy240' in 1
% j+ |2 z% }- }- l" z/ K2 H* X
2 I( A' [) w$ {3 d8 |$ Q. p; a/ D y$ u *-------------ddy240pmaxp左侧高峰值 -------------------
, o6 h: m$ s0 m0 W2 L8 G + v4 L4 x$ ` d& O4 u
preserve ' R/ r/ L3 F& {+ O- A7 B0 n
! S. v# t3 |+ m5 ?9 M( A, b keep if dx240>`tempminp'
' _( n: w1 R; A( D3 A2 l, p / k3 C1 l. O i; H. w v
keep if dx240<`tempmaxp': Q. O4 o/ Y+ }8 z
6 c. \0 [/ {( a, E1 s& o4 p keep if ddy240>02 w: f ?7 q; @1 p) A$ N j$ }
count- b* l" o$ _/ _7 D; {
6 A9 A6 g- F9 R Y9 U' ~& R! { if r(N)>2 {
& `# D( M" r( I0 X# J( _4 ` G6 p 3 h+ _' I2 ^0 w, N7 `5 |
pkexamine dx240 ddy240& k$ P, j2 q1 ?; j
- [) u# K2 L# [ local tempmaxphddy240=r(tomc)
9 ]3 p# S8 [) s' G7 v ( e9 B a3 ` I9 Q; N' b$ J( R
restore) w; J. J) @$ p L+ g* ~, c
}
# I. S: }. Z" i+ h* F 6 C2 R4 L6 ?& P0 `% O9 S: z7 A
else {
: ~! e7 O+ {5 O/ c. k
; G% u3 s' D4 f4 k di "cannot find pmaxphddy240"
5 G% @% S8 x" a8 B, S% x5 [3 d restore# i; M' R0 Z. T7 p5 O& U3 E
/ F, e" P) ?; |' F0 f* {' n7 _7 p. H
sum dx2402 x- Y# `9 r% R" ~6 y, [- f
local tempmaxphddy240=r(mean)
3 b! ]7 n& a+ @3 z& K
7 R" {8 k- ?5 ?. |! F4 h 9 {5 y9 A" ^$ V, K8 G+ n
}
" ~9 @* Y: X# Q( R o
3 N* w# r. p) U5 v' @% t- D ( f4 M/ p8 h$ }% G4 ?
. t Q" g& f( c
- i2 m j" g/ c2 x% l; B
1 ^1 ?+ ` k( X% B) l! f % m( R' ^/ M$ i2 R- c; g
gen pmaxphddy240=`tempmaxphddy240' in 1. u/ S2 M: P& b- D
3 F" x6 w& a, A6 G- m: S; D+ i
4 X- v: ]$ v+ X. q8 Z" K6 I! A *-------------ddy240pmaxp右侧低峰值 -------------------
; ^/ R( r# g& L, u
8 G$ b- I, V* w% s$ s* | preserve
1 ^% E9 n8 p# g9 `5 l ; x& u0 n& w, A" L* \# }
keep if dx240>`tempmaxp'/ y+ k. m; O7 S0 {' g- [6 _
7 N& D; d% I1 G( N7 R( B, H
gen temddy240=-ddy240
8 Z3 h7 f6 h/ j$ n: g* W6 E * P* E9 {2 s5 Q1 e7 _
keep if temddy240>0/ ~& d% R/ G2 _
/ {4 I- L/ R( a/ F8 @; ?( I
count
/ @0 ]5 f0 W# F8 e; n $ @& M c# {$ X* i
if r(N)>2 {
- J: G8 g+ t6 s! w ; c2 y7 P# q& G }. }
pkexamine dx240 temddy240( |& b- \- m: t( X8 t$ ~
+ K; [& ?% ? c/ w local tempmaxplddy240=r(tomc)
/ s5 @0 c3 y. `% ^' H* S, m+ b restore) M% i/ ^9 @/ O, r. E; F
}
) U: l" b( ~7 ]* [& z4 _
! ] o& ]. X( J* i else {
4 P+ ^+ g* Q K7 U6 S" d) r restore
; | u7 b, K& u' } di "cannot find pmaxlhddy240"
' h. q, o& J: V2 i3 ]
, t: u6 B5 u( J
* D6 u3 i. W# M6 y _1 { sum dx2401 M* j$ B% E$ K) M4 ?
local tempmaxplddy240=r(mean) in 1
7 ^/ w& T4 I I! l. |- i # e) a; j9 S3 R3 }; F+ C
7 L& i2 j$ k: V }
( v. I- k3 n" D# n; L2 T. G
3 T, u) r; }$ J9 _ 9 s. H1 F& j6 x: o; n7 X
* ? p; T9 Y8 k
* |8 v6 ^3 W1 B; q |$ m, o( Z
1 e% Z$ `# M8 X" {7 r4 M+ q
9 K, _% r3 V9 Y7 }
gen pmaxplddy240=`tempmaxphddy240' in 1
+ s* n. R7 G$ z( [/ |) b
" g0 P/ x4 I! Y *-------------------------------------
* ?9 u) g3 k- |, |! O) A) w
q" V: t5 Q& y M3 F- ~8 p9 j gen price5d=v5 in 1/20. d2 K x' G& ^) F5 g; ], p' ~
# h8 O6 q4 T0 H& b" d) c gen price5yy=_n in 1/200 P( w7 z: U1 _. D5 l9 S
# ]# L0 w0 s, K: g$ @
gen price5y=price5yy*(dy240max-dy240min)/20
5 g6 T+ Q& f; _0 ]8 u2 B9 r / g7 X, k V1 g$ ~" y
*price5y &price5d
4 j8 t4 Q# b: f8 c8 M6 ^ w# G
; N% {( N3 g3 C5 ]9 X gen priceny=price5y in 1
8 a7 A& |- Y% P k2 Y3 A( H8 q 3 g2 n, o; `! a& b9 H
gen pricen=v5 in 1
* D4 s% o& w. {2 K0 v: Q& ~
7 D" Z# r9 f% h2 ^8 ^
3 G$ N2 @- s1 X3 r1 {! F *priceny &pricen
5 j- a4 B5 U7 K3 J 7 m+ ~' e# @6 w' J1 O* {; }' s
# x+ k: H0 m( A" N8 E
*-------------------------graph------------------. F A' |6 {3 M q+ O
, b5 x& ^$ A! {
tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)
1 A5 T# v- y) Y) U4 F" I
" ^1 P& \8 F, h/ s4 k6 } B' ]: X, i* ---------可选项目----------------------8 r6 ~" u, Q8 e6 w! X; U: x
) u* r1 L" F2 W7 O& c) ?; m! S/ }
}
. X. m" [: u7 Vend1 e- S1 m# a0 I* H/ |- d! x
|
|