|
|
改了一下,这次运算应该没啥问题了
s2 R F( N J+ k6 m
. R! S! M! u3 q% `4 Y
6 R; y H0 [: }1 k @+ q- kcapture program drop hello
2 u$ E/ R, d0 [4 g
- l" j: d2 g+ m3 _" D% {2 sprogram hello/ B7 v' h. Q6 }" K) V, N6 ?" y
, `3 U! b# r' D7 ^2 \. J+ p
quietly {) [6 E( e5 m7 T2 d
3 E' Y! z* a8 G$ t" }4 P8 d% X1 P
clear$ z# m7 f: p' W% R. n& X8 L
+ q9 U& X9 R& L6 T- _$ E
cd e:\finance\stock\20110101\source2 k+ c( z% U( Y$ A% D% K
) @$ P+ f: s; M7 {; ^7 p& R8 b; l8 xinsheet using `1'.txt- D& I( `" R2 o* d, Q
, l5 _/ O4 {; w, |3 c, M6 N keep if v5>08 h5 [$ B/ t4 l5 } A
$ X3 `# J2 N5 R4 P5 F gen vt=_n0 e7 o" p- W0 r, a
! s8 S; s4 A% x
tsset vt7 ^* C6 m" k1 T8 a* D% R' Z9 t5 ]) u
, _* l/ I4 G+ S) }) a' \' u, ^
gen zf=D1.v5/ C3 E( ?5 u3 @! }" Z7 V
0 ]7 c1 j6 N' f# w/ Q3 m
gsort -v1
: c, J( K0 B2 y! ~$ {/ B, |2 T6 I3 A# W" i& n
gen avol=v7/v59 F& k$ {5 q9 y( B. o, O
4 g$ [/ x% Q. }" w6 c( i- @ keep if avol>0
7 |3 u' e. _6 g* j3 n. W! P
, H( a1 e$ Z7 Q drop vt
2 b- l0 }$ }$ F7 Y4 x- C& E9 k; u 6 H, _# Y% ?; h" M7 f
gen vt=_n+ t: z$ d, B: M- H
7 v2 I; A, \' X& d; x& L tsset vt
. {1 P/ @& _" p j0 @. s
# w7 Q0 `$ {' H* C3 U1 B a. E sum v5 [aw =avol]& c3 C+ A8 D8 ~) @9 ] A
& T* w" `& |, b! E3 q gen amean=r(mean) in 14 n/ b3 Z; n, h% |0 M
/ F' \4 K' P! k `& z- ]; k; r * 总加权平均值 amean
+ B! Z) d4 \( B$ L
) r1 m6 y- L% _/ L ) k/ X8 K3 h* E4 C _
keep in 1/240
; Z2 r8 M/ i/ I$ ]4 f
9 _8 y; q7 l; J! u! m! p! R sum v5 [aw =avol]! J! Y: Y, Y0 `
0 Y: q& v* i5 A5 M* J gen mean240=r(mean) in 1
- Z$ c j1 @$ F. g8 o % c2 Y0 d, w4 H _. O' {0 M
*240加权平均值 mean240+ Q+ e/ y6 _6 R' S- I: y: W
- y3 Y( D. P& [2 a6 H8 ], U5 t
set obs 500 0 Z) R+ ]( a4 f `, s' U& V* y
# d( X: K: E3 N9 g- \ kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
" w1 [: H3 W; G2 z* v8 q- v . I+ A, I# S4 b6 A3 e
*240 kdensity(dx240 dy240)# P" K: n' V( M, W4 a
6 c1 w% C, I4 X1 \3 U8 { sum dy240' y7 Y, ~1 D$ h1 W+ ^; E
- `: v" D" P0 C4 S+ ~3 X gen yxis=r(max) in 1
# h2 L* T9 V5 Y2 X! P
' b) T( O8 M* n gen yxis2=yxis/2; A, R) l5 ?5 l+ k$ ~% h7 X
% q) n' C* p3 ^$ }6 P
*yxis% m' r; H& {$ ?! P# |
% ]6 j9 e1 o3 n2 z; r
gen dy240max=r(max)
/ m1 a) e' p/ Z, B/ J( K
/ \/ E. ?0 ^7 P, r5 b; L5 c gen dy240minp=r(min)3 K9 H, F; |1 f$ c
, Q# z0 L) E' H9 s7 p: `
gen vtt=_n' f; h- d- _' L
' z1 ^% B+ d. A" q' w! p6 L( e, d+ A; ? tsset vtt
6 m9 u' j. H$ H6 o/ Z7 C2 h8 x/ z* R' O, o! I. a9 X* Q
gen ddy240=D1.dy240/D1.dx240
9 H; ~9 G7 S% c1 V& s" a8 t
4 ~+ }' }9 e2 l& m3 ?7 }, C. O sum ddy240
* d4 V, x3 O3 C2 z" ~ + I9 S6 m% J! |7 y) N; _% P
gen ddy240max=r(max)9 i/ a* u: R" n7 m' F
- a1 |9 Y0 \! z4 x4 d2 d gen ddy240min=r(min)
! Z! D, v' L: ^% g+ ] 6 X' B' D3 O+ A" O. w
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)" \6 i f- R' y( T# S# t/ Q
; t3 w9 }0 W7 g% B3 I0 e" j! I
sum ddy240g
! W5 q2 A$ B; G. J d. h$ Q; |
* G. V h2 [" J6 K7 L0 S2 c3 T gen yxis3=r(min) in 1. g, M- h* S( o( q9 X+ G
3 v4 M" Q" h! F+ H- K' u# {
gen yxis4=0 in 1; M$ F4 Z+ L* O
% `5 a2 b+ {) I- K *ddy240g $ \1 K4 B% |: a' @& {
3 t. A8 k9 d: m" Q$ t& l( [! P$ p' U
) c+ }: g! x2 j- R preserve % C( V* }) ?3 h8 J$ B+ j% u; m* M4 p
3 s, N9 H& ~. l, v% a7 {
sum v5 [aw =avol]
8 Q" [, @ Y7 U
+ |0 f1 Y3 R- _ keep if dx240<r(mean)
8 V- R* [2 t$ e& u( K1 I- ^, D & t/ ?( g+ e+ M1 {+ q
sum ddy2405 C! k0 _4 u4 F: B! Q. q
9 I3 B, |& j9 e% h. i5 M if r(min)<0 {/ M* _# C- Q. N. l9 _0 @
5 a9 I3 @: Y: B0 c
keep if ddy240<=0* n2 d7 f! h5 E3 s7 _1 g
- }" {( @" `& y. B% X3 q2 Z" | count
9 f- l7 d! D, p K
8 I7 m; ?% W* k" X" } if r(N)>2 {; l; m1 A: E( _, J8 P
( x1 V% N- |; k: J5 K pkexamine dx240 dy240
! V9 z- K; e- e0 S& E& |3 q . q& p t2 e5 _
local tempminp=r(tomc)
v% X( c6 c+ A; a6 O- m restore 4 w. R) |4 n/ j+ q
}0 p$ Y0 o6 O5 b- u
# A) Y3 w) [9 w4 G else {7 t) D; m; N: r
9 d: l2 D. c" ^) g E$ u$ \
di "cannot find minp"' m) e) D! T" }% W/ ^2 n
1 @/ U# r: j8 X8 W- `6 O
restore
/ K6 C8 u4 h; G sum dx240
" k3 U6 R9 @) [9 U: ] local tempminp=r(mean)
5 ]' d# P$ b0 T% f4 ^/ c ' D& j- f; k6 v& m
}
2 d" n W3 J& k+ c: {+ V }/ O6 `# R! a4 t: q' n# V) U
else {
7 }1 O2 ~$ q+ t, A% N5 z . ?; [+ M* @7 B) m9 c; L7 u; J0 G
keep if ddy240<=r(min)3 f/ B8 i2 t4 ?' _9 x
" f! L0 }0 z) t: O* L$ S sum dx240
) M+ S4 c4 [1 O6 {2 N 2 N) |6 G% H/ z9 i0 ^, |! }
local tempminp=r(min)
9 @ x7 S# R: ]& ]4 G restore 1 k2 C) V Z" y
}
6 h- p% V. e/ `- w+ ]# |4 f- m& k
3 K2 A% i# d* v z; `4 `( y0 |4 E* V1 O. r' p5 Y
gen minp=`tempminp' in 1
5 b+ e( T V9 M5 k% v4 \ *240 minp
, @0 Z! N4 k7 e. S" k# q) I$ ^2 a7 j( X
+ ~/ I- I# \5 ^ R( |) n
" d1 T0 D% N B& a0 E+ V% x; f) m; ^ preserve " p, J% b7 g: r O3 ^1 V
1 w0 r# ]& c. |" E+ c sum v5 [aw =avol]
! @% \3 B3 U; C5 F8 n9 V* f/ w) T # j! O* s O: K
keep if dx240>r(mean)
) n) J$ w$ `. k# W
; i* e& w. _/ _" d9 t& H5 j sum ddy240
, y. e3 }1 V d+ d( g
5 ~" z+ t; _. V( z if r(max)>0 {
7 B {6 w$ V- s
; K5 \& E3 q8 i( U keep if ddy240>=0
7 T1 Y. r$ R# }) X: g& P- O7 [; m
h) u" N. L- V2 [4 s count
- A6 ~/ ]- m( A/ W# J, ] " Z' _) j( h* v |" G" _# ~
if r(N)>2 {. e6 H% _" M- ]# ^! ~7 l2 ^
9 ], \) g5 ?; E# B pkexamine dx240 dy240/ B _. R: k5 j6 ?* k8 \
+ w& U$ c1 G& n6 d. C
local tempmaxp=r(tomc) 6 a# c; L, F+ z; _, K7 b
restore
4 g" S- K, I! j, y! V }
: Y8 }1 N6 e7 {' i4 w& O2 V 0 B( @& j0 t3 P. G* \/ e( k
: U: U' l; c. g( [ else {5 Y, G* h; I O: w( T" l
restore
- f3 B, H- t6 S3 h$ @5 m di "cannot find maxp"
" ?- e) T2 v: I) [9 R # }% f# y! y+ k- G, T$ @- a
6 G" Y5 W- }" F
sum dx240
" }+ h% g# [% ^- x) O) N9 L local tempmaxp=r(mean)
& d! B. A8 j! |. @: x
' g9 M }) V6 z* ?+ G, y' a' k }5 X' c. @2 [- }& a6 n$ ?* O& d
# V* U: X" f, R
}# M) H& A+ m: y" C* v
: B+ V) c! R; E% a8 @1 w) a' J else {! X9 s. a+ d6 f- }, i
# c8 o. U7 B* Q( w# R1 D
keep if ddy240>=r(max)+ E9 f+ |5 g0 T$ k' M
9 k/ {( _4 I/ N9 \* n3 D, z; e
sum dx2403 h- D1 C" M, T& e4 j* _
' w, X8 r( L# i- m, s7 h local tempmaxp=r(max) + V2 C8 ]" w1 u5 P; G2 I
restore
1 B$ z. P" I; X" V4 k/ R" f( u }
+ z. \! o, \ C/ N 1 z" g5 x$ D! R) f1 W* D5 f
( }1 }* m, }1 t0 ~5 t% L
( w+ E$ p* k8 N: U+ x% N
) b) H5 M( ~9 N+ u# T, ?; I! R/ u
gen maxp=`tempmaxp' in 1( }( Q8 i! x* @' Z
" D! a# s/ p' l! K% _' c
*240maxp
7 w) v8 I! a! K4 K8 @ 3 r9 q9 M3 I$ h0 H( C
$ Z4 c$ y1 b/ F *-------------ddy240pminp左侧高峰值-----
0 f9 c9 e% @6 Q) c
" Q2 R& q% k4 v! S preserve
7 T9 ]: W, g; X q: L5 X
k9 z. S! e" t+ U; y7 L( j' b keep if dx240<`tempminp' y6 }# S8 A: S2 A
5 T8 O W) |" E/ `2 j \. p o
keep if ddy240>04 ^% x1 \5 g1 Q- A w( o
) A, _; p2 D/ J2 {0 ]! q
count3 R* O1 K3 q/ \2 S1 a& ?
1 N% Z2 V' {: P/ u! L3 A, I
if r(N)>2 {
" h, C( v, p; v8 E {
8 z8 x! l7 p1 b0 ~% D& {/ K/ D: t pkexamine dx240 ddy240
8 ^& _' B1 }; N" `; K8 A
" Y8 a" e$ R. |. a" p: W/ t& Z local tempminphddy240=r(tomc)
4 Z. h) Y" X* ~5 i$ O! t3 ] restore; H% h0 W7 Y1 M* d
}: |6 {" U* ~& A
8 ]# x O) x3 g! n2 C' F6 N
else {% [: p! \* d$ p) f/ Y
restore
m+ K N# [ A# L' ]& n! _5 N di "cannot find pminphddy240"/ [ i, E2 B+ G) a1 {( q
+ d" _7 ?$ s- C% [ s' R' o/ u5 t
7 p6 _' R& ?! r \ sum dx2409 O9 h! m" M" V
local tempminphddy240=r(mean)
) [# }5 [3 a; U1 ^; l! _! Y6 Q9 }
% n6 ~3 w: ^8 X: S3 w
. k8 |# f% n, W+ @' y) s }9 u6 ^4 r5 u( S- S) M' E* H
7 B/ R& q2 X5 ?! v* V/ c % M3 E2 x3 ~. I, i. ^- x) |9 _
4 t- D. o' t6 k: ?! r; t1 Y
! f f: F' U5 g' Y7 j- k. ]; J
2 Q8 a$ O# J& [7 Y" {/ b K" d ; j1 B; m+ r2 ^7 ~8 ]- b
gen pminphddy240=`tempminphddy240' in 1- N7 e8 k# g# o/ y3 C: h
% C+ d* E. t- [* y6 K0 m/ s
# M- A& E" A9 t- A0 I *-------------ddy240pminp右侧低峰值 -----------------0 p+ S& f$ }+ f: ~8 n
preserve
# z. ~1 V9 C( _8 x- }
9 k+ D- S7 G( t5 d2 y4 C" x! M keep if dx240>`tempminp'
1 |& n: z# Z& g6 D4 U6 {
8 k Z, h3 P; [' x: p keep if dx240<`tempmaxp'; s! N+ X# w0 B+ P+ a: \
) X0 { g' w6 u8 P# @$ u+ Y
keep if ddy240<0* u! n8 _7 D5 [% }7 T
4 g/ M( v; C- r w4 P gen temddy240=-ddy240
; \" g' p8 L6 ^* t: h ! P- v4 ^; q' i7 b, u: [6 G
count
* T; f" t$ k8 u7 Y
# e/ ]8 b! z. q* X) t if r(N)>2 {
) ?5 X: Y' G9 R o - [, l; M% [' h s9 j0 [: h! F# e
pkexamine dx240 temddy2408 z N8 t' f9 v1 ?
H7 _& X/ U6 @) Q$ N2 l; n7 c% I
local tempminplddy240=r(tomc)
( ~* R! m# Z; e- Z8 V7 r6 `9 ^ restore8 R2 h* a, p$ l& o: o6 l
}: _2 \" Y R; i! K6 I6 D1 p
6 {4 l. s4 {" O0 t else {
' R, P. z- N& R) i 5 [. A. z5 d ~
di "cannot find pminplddy240") u( @" s/ q4 O% L* ~+ V
restore
8 b, W& T/ D, ]+ \
* x8 v7 O3 ?1 |" [7 C. ] sum dx240
" P2 `, |9 m4 T. y local tempminplddy240=r(mean)' w4 y2 Q: z& s# |7 ^9 L5 T
N1 v. f- ]7 a1 ?: B/ `7 t) |% b
% j. f: w- w6 Q' k. ?- T% P: R# R }7 O, x" x7 S$ N: w' n
g I$ ^3 C2 |! F! {$ w) n
; A5 f- @$ f/ P- o; | l& k
0 y+ e7 `1 R# `4 K9 c O, }. \; s# R7 o, ]1 G0 v
1 J- V9 ?) t& Q* ?# G, `8 a gen pminplddy240=`tempminplddy240' in 1. i: G& }9 v3 w( `2 N0 u& |% ?9 B
6 g( `- H* b. s *-------------ddy240pmaxp左侧高峰值 -------------------( K* U* Y2 t# ?$ g) _
/ k) g* ^% L) \1 D5 v* j8 P preserve
* d3 T3 I1 \# @; m/ E) p 4 b/ y0 t, q0 w( K7 Q5 i
keep if dx240>`tempminp'
5 X+ n: ?/ i1 {- S2 A$ s% I7 f
: Z5 D' X% e7 |2 n keep if dx240<`tempmaxp'6 |5 ?5 Y, |$ i" l7 T2 w2 W9 Y
% ]% M. S/ ^7 W4 E
keep if ddy240>04 J& ~: r/ U: `+ N% T
count
. f' H9 L8 l) V; q* E% R ( g$ n1 S3 B8 g
if r(N)>2 {7 R: g$ b6 J, K8 B
, } }4 g, k" Q& W9 S. l" A
pkexamine dx240 ddy240
4 h' G) h( o7 {7 H% M- i# N
" z! d% o F* m/ i* j# M/ s local tempmaxphddy240=r(tomc) - m6 c9 D/ g0 d& t6 Q9 y' v3 L7 M0 V
2 f/ u& o9 D9 u1 G$ {( i) U restore& W& ~8 {. m+ ]1 g6 q
}
/ U ~7 K+ ~- O( A. r) j2 |9 @4 h
6 r; x; i& n- w6 G1 X! P( l" t+ S else {
6 z6 s$ y3 ~4 T
& \7 [- T" ]1 P$ m% ^ di "cannot find pmaxphddy240" h" B: u# e4 q S3 F
restore
$ v& k) Y8 A% _' g3 H% e2 J4 |% Y
9 |: K" a3 t9 _, h- A sum dx240; O1 ^& C; F1 L9 Y
local tempmaxphddy240=r(mean) , h5 p6 O$ N- L* S; s% ^: W
% X, w: @+ t. T: ~' r
. f. X; Y8 Q5 ^% Y! A' f* d# c3 Z }& ^) b& o( r* d! E
5 f9 C- B7 Y% J
& ]9 \, j# q0 k5 i' F' _, z
/ K1 c& b* V! O* r ) C# u2 G! X" B0 c. ^/ ]7 C
( J3 U5 f2 J' f7 z6 q/ k: N, U2 N
* \3 V% B) a7 W gen pmaxphddy240=`tempmaxphddy240' in 10 x" M9 E8 Q9 r) ^0 o2 {0 y
0 p1 D$ X" Z8 c& s3 {- ?9 {$ [
1 A" w' L% _$ {9 z: r8 a *-------------ddy240pmaxp右侧低峰值 -------------------( N2 D" b! L* _" R* b8 n
: i1 ^$ U% o2 e8 f preserve * ~% a$ e9 g2 c U9 X
3 [) @9 |0 ?0 z% o# T2 J( V
keep if dx240>`tempmaxp'
; l; f0 T0 N; c. n3 ?; M+ Q2 T
4 }6 s- P- N& o gen temddy240=-ddy240
! ?: ^/ _$ L5 O5 j: g
1 e$ G( `) H. y Q+ J# E9 t; u keep if temddy240>0: Z: Z q9 K0 M. \* W
" t4 y! Z6 u. X' O; w/ r. s* F, N" d count9 Y5 C& m$ t( y0 l$ s$ K x
; D0 J8 D; U3 _7 _
if r(N)>2 {
; b3 m I3 a5 d: c 4 _8 e8 G" e# `( g7 a) p- p
pkexamine dx240 temddy240 q4 t' O( e/ I( [1 t2 q( Z2 j7 l6 {: [
' `4 X* }7 H# i& o1 j" B! N local tempmaxplddy240=r(tomc) ( {/ C- C' m: _' o+ {# I
restore b" W* k$ \; ]! o1 Z
}
/ X% [. {* Q1 C5 Q2 A7 m 6 G* F- a7 v! ~( ^6 \
else {
. n" v. n' m; v$ @# l v. w& s8 k restore. y( [% e# [7 y6 v
di "cannot find pmaxlhddy240"
) T3 V1 [6 C- m. R+ K7 k/ r ) k! |0 d' V7 N% p
. D4 @1 d$ S* Q, |1 s1 V: v sum dx240
7 } q: t/ o6 x0 R local tempmaxplddy240=r(mean) in 1; X s% T+ G3 C6 Q+ E3 x. l
. M' S- `- ?& H' t9 }, _+ B# v8 t1 @
9 D9 Z+ _& B% E, D2 a6 S! R }4 m( S, M7 H) p) j7 I
. |; x. Q1 G; J
* u+ ~5 M2 ~7 i$ N! D6 m6 D0 l# f
' S m$ I% G9 o" R 5 n. C9 O1 n7 a
0 E2 Y- _- u& {+ _& a
. y+ q! r b" G# i0 k gen pmaxplddy240=`tempmaxphddy240' in 1' Q+ C3 L Y x
1 S4 L3 W2 h: G/ |( H *-------------------------------------4 e: W3 V5 n% t4 v! {/ Z: j% `
& f" Q8 ]/ n2 W2 u gen price5d=v5 in 1/20) j% B8 z: i. X! P
& \8 w2 ]! O, r
gen price5yy=_n in 1/20
3 D3 X* \% b! A0 E ~4 G2 Y ' Q( x) p/ [% z) \3 T
gen price5y=price5yy*(dy240max-dy240min)/20, p4 m8 W R$ Y5 w2 i+ J
4 y% ?+ ]" J5 A$ j- I! `9 y- U
*price5y &price5d
; G0 V2 o7 n$ u 4 _/ F' @* W' S% A7 ]6 Q6 }
gen priceny=price5y in 1
& S" {3 ]$ I- o, o6 a# E6 b4 L % G5 l' f" L( `' A( i: ]
gen pricen=v5 in 1
5 a% g5 P3 |+ m9 v2 }: K8 L% Q2 ^7 g; J1 R7 E* c# t
. ]& h/ n5 D9 ?/ b. }! t
*priceny &pricen7 k9 }. e9 s4 V, |% N9 B( l3 b6 D3 U
3 z# U( L: f" r8 |* m
# A3 I1 m I4 `, C4 X% O; E% o! K *-------------------------graph------------------
2 }8 K. a/ M8 z
1 f( u/ Y$ Y: q% F, w 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)
9 w+ m( A$ m' s. K3 b8 t5 u \+ G% R& Q
! W: t% J* A' }) D. P6 H7 W; U* ---------可选项目----------------------1 ]7 g% ^8 t- Z/ @0 h9 Z. k
( ^ S2 A( z2 W* `
}" g8 a9 D2 G; b. @7 U
end$ T( p* d$ X9 \
|
|