|
|
改了一下,这次运算应该没啥问题了
- e: H% [* K' p6 T) X5 I) j
5 [' J8 a# g5 v+ }2 e- k- L. x& T9 R- Q2 U' b, e: j3 A- L0 W* k
capture program drop hello2 d( g! V( e) }
& g, d% B. y& s7 t& A) Q8 R5 _
program hello& f' a' X X0 d
$ }4 N0 k0 k1 P
quietly {6 _3 s6 t! v% r" n/ u* ^
4 E# B/ h3 |$ G1 d2 O3 U5 @0 _
clear
5 p) U1 C/ m* z# I }. \; I- X5 D( P1 B ?4 D' S
cd e:\finance\stock\20110101\source
% z& `9 @) _7 p7 m9 s1 }. R1 c+ T% M- E8 G. K
insheet using `1'.txt' C8 r8 i# H0 ` R& L. q
2 L! V2 |$ o4 p& k7 g9 Z
keep if v5>0
+ c \' R* G4 J6 g4 |
( z6 ^ I2 m* [" d gen vt=_n9 A0 F; A( Y3 z
9 o5 H4 x% @' J- L& E, S+ [
tsset vt
, t( x( s' v# L
9 B& O5 w8 K5 }2 S# U h! m gen zf=D1.v5
& d, o7 b | _* C C7 M& F6 r
% c! n( f' e/ C6 N/ y0 N% h6 g$ s gsort -v1! \9 p1 ]" A7 I/ c3 @1 g
4 m$ H. h1 s b5 H( U6 g
gen avol=v7/v5
0 {, I+ l% S. q+ o9 G* { 1 o6 x; N: Y0 D, k
keep if avol>08 L9 @$ D" ? n/ H+ P
9 o/ k2 G6 z# d drop vt
: L& N# Z3 D. p* i0 @: \# p$ T; } ( a: D1 a8 @2 D
gen vt=_n& q* u! ], V) @
) v2 q3 Z) J, v( R/ ` tsset vt" q, U* C% Q( _: C( L
* T6 W6 g' x/ s( f0 D; | sum v5 [aw =avol]
/ T# t8 I$ @* N a b0 w$ g. |/ }1 x$ `# a7 Z* W- J& d5 a' c
gen amean=r(mean) in 1; c( \8 w; ^/ k
# [2 ]' S. ^ r: H0 I8 @ y7 X, m' v3 U
* 总加权平均值 amean' {' ~# F) G. E; p( v) w( R
. Q; | t( I: W8 z/ j- E
5 H& a, X: F; x* O# f+ {( n$ S, P keep in 1/240
4 P2 p2 c! m; ?% a, g) g/ l1 ^# ~1 l- D5 z! A8 n! p' o) c
sum v5 [aw =avol], G/ a, k- y2 N
6 U7 g+ s8 ]6 [7 @5 g+ w7 {, i
gen mean240=r(mean) in 14 ^# {8 p7 Z/ U- @
! U1 g N. g8 R4 _
*240加权平均值 mean240
% U. G) p* x) V; Y! h" C ' S+ Y8 r8 N; S5 X R8 g. m! e
set obs 500 6 E5 D) [% F; p2 S) {
/ U! F. Q0 B, Y4 W8 w+ L$ f1 Z kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
7 ? w3 T) H2 x+ S9 J
* U. g/ P7 ^* P. d! R Q, I5 `; V; x6 B" p *240 kdensity(dx240 dy240), U" W. W) s- Q2 @9 T7 g/ A! @
L9 _ y% Y9 F) N: V, S- k3 v/ \ q
sum dy240
" U0 S- y g8 }( {! h# L 4 k5 ?* O" @$ [" X7 n
gen yxis=r(max) in 1
. z2 \% y( H/ z% R" O# _$ J
' F! _1 i8 z' w gen yxis2=yxis/2
4 ^+ n: v% o* g" r ( b& B% Q6 b; u+ }- b4 E: r
*yxis
& N* y& N8 i( `$ z" [ ! |, y: J R) ^
gen dy240max=r(max)5 t+ w+ ?* n9 C( f
" ~$ j1 a! E0 n% [' l gen dy240minp=r(min)
9 F( K6 _4 D+ ~+ L
, Q7 u3 K) `/ u: U' K+ Y7 [9 s% I gen vtt=_n
6 |. M- g: b/ Q9 Z2 f
3 q( x- Z! n5 o; q tsset vtt
* H! [) G- w. N. V7 M/ H( x) ?/ S7 k7 i, y# h2 Q; `
gen ddy240=D1.dy240/D1.dx240
- y* W) J2 b' _! ~2 ? }* ` . y: {6 G% A( J/ z; A' P
sum ddy240
7 i9 s" \; X& u" `$ Q' b
& F4 h$ `7 n9 ~1 B4 d gen ddy240max=r(max)
7 q1 ~9 y$ U4 R: @) D# I 6 S f1 {8 K9 N2 e
gen ddy240min=r(min)
( |( W0 m3 [) ` # m& s9 m% ~, K7 Q6 O( k4 x) e
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
% [. C% n7 ?8 B3 l3 ~
! g$ V U# U" c" z sum ddy240g
$ m& N. m0 j3 y2 A' W8 W# ^ 5 {% T( } L( W$ w; ^. w
gen yxis3=r(min) in 1
/ s3 `2 p4 `+ D. G) i: k% m* G$ \ * v( v* H8 a4 u+ a
gen yxis4=0 in 1/ } ?0 J3 n$ _* m% f
* i O8 B. p7 p( U2 ~2 ]
*ddy240g
, S$ k6 d6 d5 g
; r7 p4 N4 e- v $ g% z) I3 P/ @% u
preserve $ S9 R9 F2 d+ y3 Y0 ?4 s6 ?
- v+ P! _# n: P1 S' Q sum v5 [aw =avol]
' ^4 l3 h6 c& ]0 @$ B 2 _0 s2 a8 s- L
keep if dx240<r(mean)
$ X- b& c, j W% K( j5 z ; s, h1 n; e. i; P" M8 [) T# B
sum ddy240
1 H x$ y& ?# C( T/ h7 |( a " D) z! C9 e0 K
if r(min)<0 {
/ v& e& G2 C0 Q* p3 M& `2 ?* j 7 D7 p# p" t5 l! A
keep if ddy240<=0
6 \' z# [4 |9 S1 C; l: \5 x
9 I4 S( Z- L9 I! q& U" n; I* l count5 H% h! t; n/ j0 j- d
, G1 m& Z: _( b
if r(N)>2 {! d2 ?/ _: }3 |* J Z1 ]
& P' x, R* z9 q5 x6 H& h
pkexamine dx240 dy240
y% @, B+ x- V" n' n
4 C) [! d9 |0 y9 i local tempminp=r(tomc)
( p% O+ n3 u! J( b" i. ] restore
! N# N" }$ a% j" }: `6 k1 ^; Z }5 s- Z2 M @! h
$ p o5 m; E' P1 } else {
1 ]) d, z6 m( N, {6 u/ o. h : f- a8 z7 u) `0 t1 g5 ]1 D/ F7 `
di "cannot find minp"2 E, o0 r4 K% L- s* M- c
- |: c/ R+ ]0 P! L, c& A. L6 s restore
0 H8 B" z4 h* S' h sum dx240
- {. I9 }0 Q. _7 N" p8 t' C4 h local tempminp=r(mean); G% }4 g3 o1 ~. Q, Y
' M1 U8 I$ Z0 v" S7 L
}( L+ D; O- }7 ]) K6 d h5 c2 M
}. ^( O5 y$ s7 U
else {% [0 w/ h7 t5 K, g" |$ V S
; y% I9 i/ Y* S" \8 p
keep if ddy240<=r(min)
V5 s( R/ F _" w- @ ' I/ W( T6 q; w9 f7 L( M
sum dx240# h6 G; ]8 M5 b7 |' m9 z3 Z" {: O4 ^
* q6 t" J9 N' R- o2 Q( {1 M
local tempminp=r(min)+ @$ u- x% t" H% g
restore 0 X* k, W" z4 ~& g8 a6 R0 S
}
3 u8 H0 w' L9 F( p ]/ o
" A1 e; a4 b8 O9 o; `$ O
0 Q* s9 M' a; C& I2 u9 L7 U
1 U: Q8 \) r: Y* @ gen minp=`tempminp' in 1
9 @5 M4 l. g/ }5 y *240 minp
8 ^$ n& u* N3 I8 |$ k7 x) x0 S% \6 M) ~8 B, A0 v
" |; u8 y! c( o
# G) b4 C1 t x# Z# i- _6 R preserve
& r5 |! w' D2 v2 U 1 J4 c) I& h! E! K
sum v5 [aw =avol]
" }) A/ H4 w! P/ t. n% C5 N 5 ^8 I/ S' Z% C9 O( V
keep if dx240>r(mean)/ y7 D" E7 S9 o
' z4 \" {+ C- A5 O1 y' { sum ddy240
% V! j9 W# j" B- |. Z
. w% N4 ^5 Q- |$ e2 f' T8 ? if r(max)>0 {
# p( ]- C; x; U, `, m4 u0 k
" a ~* v! s' r% H keep if ddy240>=02 B% g6 f# U: \! \
+ K7 v5 }. @+ P3 _/ g/ o8 R
count
6 I6 a2 U5 B. Q6 P" ]' R 9 ]" O! U* m8 i+ J
if r(N)>2 {
O3 }1 u& F' W9 Q) f5 d& R3 b4 g
8 p3 c; O) O% S; F% Y pkexamine dx240 dy240 A% ^2 P! S& k" ~
, L* c/ s+ c9 a) X
local tempmaxp=r(tomc) 2 Y2 @" _) l3 {' d. O
restore ) @( y) f0 b3 e4 S
}
" Z* c( ~3 ]/ p7 z) l# l ; ]8 K1 M$ t: G( q {
* c+ p( L6 y: T D% c5 Z else {& v4 F8 L6 q) ^
restore * V. }# |1 e( P9 z. I/ j* V
di "cannot find maxp"
1 U. G" G* X+ U: [9 F# p) ]
2 r- G( ?* M4 }0 D; ]! g
B7 q' y) j( l3 A+ F6 j sum dx240# `" o* V1 L4 C/ ?4 r# ?
local tempmaxp=r(mean)
4 W8 Q; `: C5 t9 Z" d
' D* W3 r% g/ _3 k5 b* y) q+ C# f& Q }2 Y/ o& _' R" @ B' ^
: g- s% O8 _/ _$ i5 x6 q* ]5 C
}1 ], c3 y" F0 g3 n3 |! y8 m
2 {8 J7 k1 s+ p; @1 B- D7 ?% H else {) `# u* B( g$ S0 _
; f$ C. V& {0 h( O, e# v. v keep if ddy240>=r(max)
$ U9 B0 \1 D: e* j# z2 Y$ ?) e . q* ~4 v1 M( C9 m
sum dx240
* z' c$ ?) E9 \. l+ h/ O% g
$ _4 Q; M$ f+ y4 L6 M |* U$ u local tempmaxp=r(max)
% s/ L4 e- ?$ y5 V% M* g* Q restore ! W3 i0 O( r# v& E* p, d( {- N
}
8 w Y: q4 B4 c& [% }1 A. s0 J
e' X6 h8 j/ e: y5 X) H
6 s7 d# R& q: c1 q% c$ b
w4 x5 O6 S1 I( {4 l
+ ^( V" I2 N! y gen maxp=`tempmaxp' in 1- V: E( j2 n0 ?# d" H# g4 n2 z/ N
' h7 ^7 b( o+ n9 \6 O5 Q *240maxp) D) T, ?# {7 U/ _9 j V
0 ?2 }' m. F' h' k- M
/ Y$ V( p' p" L0 Z. t! g
*-------------ddy240pminp左侧高峰值-----+ \: A# b; l: U1 y( l' [
2 Z# q1 e* c$ R" x, C% `. D) N# F; t* q
preserve . w- |; d$ d( _ g
9 f. r# q: j% N keep if dx240<`tempminp'
( o L# E% R4 W/ A$ e
( h0 T# g* }3 n2 I keep if ddy240>0
' E& L4 J6 C5 O- Q( m
, _: m6 x8 P, g" W5 ^ count; H" ]0 y+ s: U+ U8 i
* F+ ]( i1 a8 y- W
if r(N)>2 {
" r. S, p5 d. C( p 1 y: X, G/ @3 B7 S
pkexamine dx240 ddy240
- ]. Q7 T$ [) W/ W* e- w* k4 f
5 P. {. l9 H2 d! ~: q; f local tempminphddy240=r(tomc) # Z/ B6 H& P: l. j6 {! u2 }
restore) _: l& t9 v; Q5 @3 T6 a
} y7 C$ ~$ r, P5 K
. Y2 L% K- w% @% _0 c
else {; d8 {9 T6 L; q+ }" S4 u3 r r
restore
' n9 s! c% B0 e$ z( Y di "cannot find pminphddy240"
( S) q# v. W8 G$ @* ]
: H* n" g$ I& D- V; } 4 d' X8 \6 m# d: \1 \- F5 |
sum dx240
. a5 s+ P z0 o1 B% {/ R8 k local tempminphddy240=r(mean)
0 U% i, g/ I# {
5 O& r7 _% b( V3 [; \ ! ?& s6 l" {1 k1 Q/ Y! F
}
# I9 {' X- y2 ^8 p2 P" b* ~
4 k w7 z6 R- C: \7 G
) y' ~- C4 p5 I6 v8 X4 j7 V $ ]2 s, V, l* Z5 |* N
$ ?/ o1 ^9 G t' i9 y, x3 y 9 O/ e& Z# ]( C! o
7 j1 t5 z, }) b5 }4 _& S; R gen pminphddy240=`tempminphddy240' in 1
) @; l6 z/ w6 u* J: A8 O
$ p6 V/ v! I2 N, G9 ~
. c* N% ^+ M. O, o *-------------ddy240pminp右侧低峰值 -----------------: ~6 Z1 d; [: u' b6 ^( o7 `6 P
preserve 3 ]+ I; L# n. B! K7 I
% A& {* ?) |* k keep if dx240>`tempminp'$ @" F/ ]* k1 e. R( c/ p; [
3 R! j6 B+ }) H7 { ]; n4 R keep if dx240<`tempmaxp'' }# N) c5 s8 m9 I' |; k
+ M- ?/ m, A( S( I; r
keep if ddy240<0! e2 J! R" x/ N, N, b$ }/ w
7 q a E* _7 \ G% {/ y9 q gen temddy240=-ddy240
1 Q: v* M% o J9 n 6 X$ f7 |- P# W1 S9 b
count
" ~/ w- p; H9 h' Q* @ 0 T: @/ ?. W; D
if r(N)>2 {- \* {9 [2 S+ O: }
+ |4 ^' a$ M( e, f pkexamine dx240 temddy240$ @2 p$ a3 _3 ~
) i( @5 u+ R; i+ t$ ] local tempminplddy240=r(tomc)+ |# j2 [5 j2 ?- ?: s' G8 ^
restore4 O" p8 T2 @) ]/ A1 D# Q4 n7 ^! r) N
}
* f3 D1 r7 |! c: \4 d
5 x2 s% S9 ^2 ^1 Z6 k% I8 \" j else {
$ u# b3 ^1 ~% V* n; [$ f2 O. @
' q$ }. w- {$ l- J8 V di "cannot find pminplddy240"
; F# Q) `& u& }$ I restore
# a; S* n. ^8 U% i4 t4 D1 N. Q
8 T2 ~/ g+ G G6 |, d1 L sum dx2409 q$ Q% U( k K e, } E0 Y
local tempminplddy240=r(mean)1 o+ B' l- [+ q$ e" n$ ^
4 \3 } {, o2 W8 G M" W
1 J5 A% k) y' F1 ^0 S }
1 j( D2 _4 e* \& J ' F1 Z, f$ s3 H- A: L
1 C2 @" y2 U4 r0 L: ]9 T/ @ . g, U& b; }# P$ d
- G- n- w9 A/ b0 r
^ B2 |9 `" y* V2 y gen pminplddy240=`tempminplddy240' in 1
+ Z& `. s: N4 M6 H5 s% @, O1 O
* a# k. l# C0 [3 E1 F *-------------ddy240pmaxp左侧高峰值 -------------------. J7 O5 o$ j4 r8 T" {
% t6 z R$ v+ J' O preserve 5 s* C% {8 C2 H, z6 h- h
+ J( e& w$ P* ]) Q' m keep if dx240>`tempminp'- A; J s- S/ f0 I: R+ ]% w' Z9 T# m
- e/ d" K" H, g; l5 `% b
keep if dx240<`tempmaxp') \' A: L& g$ m: z s0 }( O, w9 X( W
0 M, ~3 `' |/ C" q
keep if ddy240>0$ s3 |2 A( q% z" Y7 K9 W! R
count
, {! ~$ P- U6 \% F- Q& x
6 j) ] j1 \$ L" R* \6 l4 O1 f if r(N)>2 {
4 b) U8 ?8 l% e3 l+ I3 I, I
: O9 h$ b ~) q0 |9 z: _7 a pkexamine dx240 ddy240$ A5 P( k! ` \4 B/ e- C7 W1 U
9 x: ?/ D; j, V f& n) a7 s# J u
local tempmaxphddy240=r(tomc)
' Q a2 s/ H# _/ ~: ?. s . U; n" H: d' p( m1 ]' e0 K
restore
5 p8 }, K7 ?% D/ U* u8 a }
8 [9 b* O7 X, ~; e: D1 U
! w7 k' i3 j! s- ^( E else {0 [* g! O* j% `2 i% B" E; ~, T
. A9 R0 c, P2 ^( X1 i3 |* y di "cannot find pmaxphddy240" G' R" X' {7 a8 i/ s7 j
restore |" i+ q$ p" L* E/ t0 G
! J8 y- N- `4 n5 U7 P' s sum dx240, N9 s+ ~& i! d; L
local tempmaxphddy240=r(mean)
0 o( s% K7 X1 J0 \. ? . y- R# D% C) B2 |
+ D: z* p1 a) L0 H& J }
/ {+ g8 e1 s" g- @9 @' D3 p7 I" D+ Z
" h5 M0 x0 d+ s% P. l) S2 f 6 f# W* _0 Z- v- U" t3 t5 W6 S4 h
; Z! s& q' I G$ s) r
) c! e! ]& c. k( R' L X3 K
" W1 O v+ ~% d2 @; h: ^
3 K( Z, C1 x3 ^ gen pmaxphddy240=`tempmaxphddy240' in 1: ?! }! K& k% ~. @4 x- _+ {
4 ^( Q- o; i: e6 c# I( W$ b+ L
1 g7 @! P& d, k5 |5 o8 y4 z5 ~ *-------------ddy240pmaxp右侧低峰值 -------------------
' j6 V) k9 H- Y0 p- ?6 u
+ d0 F4 r" J n8 e/ Q5 | preserve 3 M! ^# Q( c3 V9 J3 I( B% p
6 c6 N1 t) f- P keep if dx240>`tempmaxp'3 X. S5 w) t P% }4 U
2 r; P& v" g" g5 u6 ^
gen temddy240=-ddy240; {$ n9 S/ O9 i: P% m
6 L8 g( D g6 v ` ?: O5 h
keep if temddy240>0
) o& g6 ~0 r7 Y! `
5 r5 P3 h. O* U; A! z count" d; _ R& {4 V( r
! k3 Y, ~ R5 u0 ^% Q, X8 N9 J, a if r(N)>2 {* k/ U V/ ~; o2 h$ g+ w
) ]8 l) @9 z+ P1 x
pkexamine dx240 temddy240
- T7 W7 t b; U% \! Z& Z& ] * ?$ \4 Z- f) Y* C& @
local tempmaxplddy240=r(tomc) 4 U& X& |, J5 J; ~" k
restore
% ^7 H4 Z$ i3 b! s# B; d0 B! d4 ` }
o$ I( F: ?' Z5 k3 X9 q
j9 s# w7 U. n else {$ `. V% p0 k6 C# a% y# X6 \
restore9 a/ L2 s3 q/ v+ F @
di "cannot find pmaxlhddy240"! h5 H$ v. [% s2 p. R: M X
# _3 h. ~) |0 P' t5 M 0 a5 {' W: Q, x) b; N) m
sum dx240
. z/ D; ~2 L% f$ o3 }, Y8 F local tempmaxplddy240=r(mean) in 17 d" z9 K* v, D W9 O* v
' e3 t8 R+ I" D1 x" _; x# z! }
+ r+ o* n( @6 h1 h2 ^ }
: n8 g( j) u8 K2 Z
- F3 [- P6 E1 V% B( O- ? ; \% u! ?& o M, B3 r/ D/ v
U( u+ C" z& f' N2 ~8 R
8 F- X' k$ A0 x) J" v0 f
4 n) Q: s9 _# J# Y' f2 t% ]2 Q ) I7 N9 P' h* O+ a; z1 X
gen pmaxplddy240=`tempmaxphddy240' in 1' x( u8 c% ?8 ~) L0 B' I: a
: d1 v, Q$ A' {8 n7 z. G
*-------------------------------------
* ^$ H l5 V( r \' V2 Z ' S3 O9 z6 ]4 i( p
gen price5d=v5 in 1/20
" \2 O! L& }# W2 H: d b! L( {3 O 1 b Y! w' t2 G. A" @
gen price5yy=_n in 1/20
0 j3 ?( {# o) h" Y h
; H( @7 F' |7 V5 @0 E, _; G7 K gen price5y=price5yy*(dy240max-dy240min)/20+ \, b, s, S. t( d8 w5 u! m
3 H% {; u! ]* }+ c4 o$ {6 x *price5y &price5d4 a- w7 T- s6 n) m: B5 }$ r: O
' N4 W1 k" G$ q
gen priceny=price5y in 1% _, M7 J+ Y4 U& w
- i: r( F8 {4 B' v" e, y! w0 r( S! K
gen pricen=v5 in 1
7 e5 M+ p" f4 z6 ]& O" U, }
8 r# z) m$ c7 [" A1 Y5 m % K& }: o% f0 X( ^( H0 ]" z
*priceny &pricen6 H$ I# a* N2 Z2 q$ o
N3 {( t0 w: e6 a7 R
' P* ?3 S& F I1 n# p5 Q. ~; x *-------------------------graph------------------
0 |. q6 t& Y' j' E$ G5 ^ % O3 E) F+ U' B$ J
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)( ?: n# c r( ^; Y9 I
! j& h1 ]9 u; b1 Y* ---------可选项目----------------------: n3 r$ k$ b _ I% d5 d7 X
* @+ G3 \: T" k. O5 \& _& c}. l9 B* h' h$ p+ T, g" m, m
end8 _3 B4 K8 R& e
|
|