|
|
改了一下,这次运算应该没啥问题了
: j2 i) a3 T4 p7 H& a) B0 b# ?4 {, R: I
" q* \/ \6 y7 Y% \+ s5 V; @capture program drop hello
3 f, l9 A# s, K. c4 M
' e) Z! i- z( j9 l" v& Fprogram hello
0 |8 B. g3 g5 g6 w4 W1 P, J0 F- h
- h! b& P$ r3 B quietly {) p& n8 e3 T# u
( l4 S% X: u* cclear
8 K- Y+ g& J* f, J- \( H/ C% a$ u, L, Z3 l
cd e:\finance\stock\20110101\source
! H+ S0 w9 n, Y- P3 u6 D% R2 @ T5 t/ V7 D( B
insheet using `1'.txt
" O3 A' b% K# l- _* `
6 j, i" M: K+ i0 Y$ S+ ] keep if v5>0
- X2 N; w9 z6 J$ {2 K' \$ O
7 K6 E7 C7 n$ E gen vt=_n
4 l9 n0 T% j) Z' y. | * C2 Y3 I, R J6 E
tsset vt
& C6 h/ w% ^1 q1 H) J4 X z0 A5 s, m1 `8 k
gen zf=D1.v5 U/ Q- |' f3 l2 J; w1 G
2 \' S. H1 Q D' ]9 i
gsort -v1
* y+ w, p7 J; C7 L
% H. P- A/ T0 X2 O gen avol=v7/v5# n |; u6 y$ B6 h( i4 C
5 l. r$ U; O, [
keep if avol>0$ L t ^4 ]+ q6 W
/ ^: G7 Z, ?4 u2 }; o1 b/ t
drop vt
; v% M' ~% }: f0 r, a& C 2 e- n8 y3 _" x$ e. c9 `: w! h
gen vt=_n0 S& l0 {0 h0 Y* I7 x
8 [0 g% I& t* H+ J0 h tsset vt
6 K/ @" q3 n% a$ s, n5 o- y 1 \3 n) p' C1 C5 e7 |
sum v5 [aw =avol]
8 d: Q" @& ^8 M# X `/ c. @" d' g" K; D% W& V
gen amean=r(mean) in 1# P# P r: a+ w% ^" D. A3 ]
) U1 Q4 Q/ f; a * 总加权平均值 amean
" b0 m) N3 n; T5 k0 n % n) m/ H' ?, r. F2 G
8 i4 R3 ?" v" x B keep in 1/2402 }5 S2 x6 U& z7 l5 E
% |& p$ X# V! {/ \ sum v5 [aw =avol]
( o" h0 G# N( Z9 K. s0 Q' o0 `+ C2 e1 w
gen mean240=r(mean) in 1
8 Q5 n3 H+ ^" A7 E3 v8 @3 H # h" Y: D7 d3 @6 o I
*240加权平均值 mean2401 i% N+ k) n F( m) ]
* f. v6 N9 [& ]% P/ z4 Z) ~5 J set obs 500
2 h% c$ R- j3 X3 p' u; o. G* i
. _2 H2 `& @# N* r7 _/ f5 p kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
1 E& C' W! g% S9 a* H - H) S- F w; E# h: a
*240 kdensity(dx240 dy240)+ S# o: T0 Z! P8 P4 B
0 n& }. P5 G* o3 N0 Y: s0 K5 Z0 d
sum dy2407 h# n) h0 I+ u- x, X
. ? a! H3 H; Y; z7 U" t$ R gen yxis=r(max) in 12 X/ [3 V: f# R: j" i& g( ?
! _4 e O/ r8 ~9 n$ ~$ y3 r! M
gen yxis2=yxis/2
5 [( ~4 o9 `+ { Z6 c6 p% k* u' ]1 c5 k1 S
*yxis
4 v0 B0 T. d/ \! i; M$ ~$ ^4 {( ]
( Z) n$ Z! V0 Z: [8 v& w: K$ x" f gen dy240max=r(max)# N* {9 a; }2 R
) j9 u0 p4 A( l) p0 I gen dy240minp=r(min)+ C" |2 t7 m7 A
5 B1 k: s# g: b3 f: Z9 x) q gen vtt=_n7 H5 O2 W2 [: H; x$ ~( d& U/ [
( {8 k+ Y3 Q$ T' S tsset vtt5 q* p% `/ g8 \
4 S* q8 Y2 n; C, `( u gen ddy240=D1.dy240/D1.dx240
3 U& C6 ^8 {% V- a0 Y9 ~0 l : o9 c. X, q4 R# R* q& x% a) b: U
sum ddy240
* {5 `/ v8 T h- s/ t, ~ 2 L, N+ x7 n4 D
gen ddy240max=r(max)
" H! ^9 p q L& j2 S# _3 Q
/ i1 |1 K( Z/ N' W" T: W, ~ gen ddy240min=r(min)! `! t h0 |1 _/ C+ f$ m. K; _
7 V! k4 } G5 E. {; E, j gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)$ r/ a3 {! e' o1 X+ q
9 S9 E3 [7 L+ l1 i7 {: D3 w% C \
sum ddy240g
1 R- c. u! T! [1 d3 q $ k. b- a+ w/ v# m6 E- Q3 T0 X ~3 ^
gen yxis3=r(min) in 16 h5 W8 `/ z' n; F) J b
1 |- H9 Q/ N9 q: \( E% ] gen yxis4=0 in 1
4 B1 L: N$ x( C) U4 K" J
6 p# S4 H+ @ U3 c% { *ddy240g
1 v. x9 Z8 L3 w% R; `. u
& I) B* ]: P* R, ~7 n8 ^% V8 H ; q1 J( a' m0 R# K& F
preserve . M2 B) h% G5 r! W2 q/ k" u
% N: o0 } C1 U6 G4 D. W: | sum v5 [aw =avol]' U) S, _9 S. q, ~* k. A
& S7 ]( Q* X0 c+ t
keep if dx240<r(mean)" Q% {3 x7 S! A5 S
- q% _6 M8 E K& L/ Y6 G ]
sum ddy240
# [/ R& L6 w; H/ Z( Z
+ h" ~+ B: P8 T( ^& Q5 F; b if r(min)<0 {5 ~3 e/ U; u6 V! l: f5 ^6 x
/ I, X3 t( |8 Z% H1 ?3 S6 y
keep if ddy240<=0
! a. A2 B- ^9 j' ^6 z# q* K ! |0 q! p* z4 M
count- o, N* Q0 L& @3 ~/ `
& F0 ]5 W3 E8 |7 ~, o
if r(N)>2 {; w8 N9 @( u% B+ y/ K
4 y, Z2 z7 L9 _* s8 C# I+ C
pkexamine dx240 dy240
$ Q5 R( ?# @) a: ~' I% S ! v8 V: L. w# y1 S) w
local tempminp=r(tomc)5 L9 x8 q1 A9 ]0 ^$ B) v
restore
+ z5 m0 F+ R/ ^* O( ] }
! K% e h9 F, @1 _
9 k: T. z( P: \( y9 m! k% H' h' Q1 \ else {; X0 h# B" [! {
- L+ l9 T6 @- Z% n/ U di "cannot find minp"3 \, J, Q$ L/ w) U$ a- w
: S& o, w r8 T5 x* T' } restore
7 ~9 `* J2 }3 V8 B" F; Y sum dx2404 {$ h6 \8 H8 L
local tempminp=r(mean)
6 f) ~9 I3 e w/ D: F ; F# r& i5 B7 u z5 f3 A
}$ F- F9 I6 K9 r5 {2 ~1 U
}% w+ z8 X5 ]: K- x$ W
else {# c5 f5 M4 R. D h+ P- q& a
( V- z. I) e8 D+ r* }
keep if ddy240<=r(min) }- O3 H0 T7 k6 A! D: k, q3 g
2 {4 `" g) l3 E2 l M; K
sum dx240
* [. @! [6 e# p- @+ z" x6 D
' r* ^( H3 N$ X$ n$ L- H) f local tempminp=r(min)$ t m& N+ w" z) E. j
restore 6 c/ j! s# Q% O1 @, f- h }
}; S6 f/ _3 y+ R5 K) n% Y
8 l1 C3 ~' K% ?9 I/ `
' b$ P3 `; [3 R3 ^- o) s
4 I1 B4 z1 e5 o P) p- \/ I' { gen minp=`tempminp' in 1
0 v$ l4 X4 t; |5 P *240 minp
7 ~. M3 U# f/ b/ R. A5 Z6 b( n! h |7 Y
! ~3 G/ Z1 b/ ^/ O0 b. Z
. y' M4 ?( Y6 C preserve 6 q; G) o* }# ~, i; r# a
, g- E+ E) z, @, X+ s+ u( n$ m sum v5 [aw =avol]
+ A6 x y" X6 {- Y
5 b6 U% ^: M. z7 ` keep if dx240>r(mean)& E1 Y& e+ |4 n
' M. j. A% l5 L- G3 H
sum ddy2406 x+ ?1 w1 p& ^9 p8 T& x; h
+ I3 C1 `6 \; |( X6 V4 O
if r(max)>0 {0 A8 {( \ A+ T" e
5 s6 j1 m: x6 r1 F) j- L
keep if ddy240>=0
! p$ E7 w# K. H- f
, r8 d/ J- q: _3 N# {0 P6 _, L0 b count% U/ i" h0 ?0 @3 |* w$ B3 {0 @$ g! @
. L- W6 R2 T7 ?: j! v% @1 d
if r(N)>2 {' d* H" K* P; L5 C' X% ?! f
$ w# n& V$ U, N0 R+ {/ X( }
pkexamine dx240 dy240' l! l2 V8 b$ ?! \ Y1 A( p
) K- i! l. f2 _
local tempmaxp=r(tomc)
1 a' w, Y1 b- i( v4 r$ K restore
3 O9 H# o. O6 I0 I q }
3 e [; P" ]% e D( H
5 N2 R, K- u, V% k; F
- g+ V$ a8 O: F* L6 c7 F7 P else {
8 i+ d( X& U; e restore ( F8 r% K. a {5 ]# H
di "cannot find maxp"0 B) V, s% p" b0 `8 f
: \/ P9 L: i+ l
$ o/ I; B# s6 p% B" W8 D9 t3 j sum dx2403 E4 ^/ G4 r; m
local tempmaxp=r(mean)0 _' {6 P* c1 s9 `5 N
w1 D% |% r; j, }9 t }0 C( [ ~% d o: [/ ?* x
5 H- T' u( T" l1 w7 v }
* L- K% M* n: H2 ]- b
3 Q Q6 Y8 i5 U1 s: ] else {; }7 F. j9 \5 L3 P( O
, I# x- Q1 r& P
keep if ddy240>=r(max)0 X6 e7 A; q' [
2 [* M$ a- [/ I" e( | sum dx2404 m3 X6 d6 }0 F; ~
: U+ w1 V5 H) v* F
local tempmaxp=r(max) " e6 Y1 W6 s) `( M4 ?2 `, y
restore
; C$ \7 s1 r& g. q }
7 M4 m6 c$ j1 T9 y 4 @. r+ l. q$ T2 k% L1 `4 U
% |' f$ B1 ?3 P S ( k" O% P; [8 z: n4 J1 S
: }4 S( F1 k, F4 S# E& @: f4 R1 P
gen maxp=`tempmaxp' in 16 N i# @* T/ Z6 S( X1 m
5 @: \* r ]/ D) G7 V6 O. y6 J
*240maxp
0 o& a/ q6 H% a9 _8 d6 V% V
3 B) |* [, C* |! i7 f7 C+ G 0 p0 \) S6 Y7 h& k& ?) w+ o( R
*-------------ddy240pminp左侧高峰值-----
e" ^! f6 W+ b# b. t& r+ I
" x2 W3 B+ O: y4 w0 h preserve # E' x8 Y* X t8 t% U
' v2 g, |& f9 K. F, Z
keep if dx240<`tempminp'
9 a/ [$ X! D; [6 E7 l
" C% C& E: k; I2 r keep if ddy240>09 V3 T' W0 S/ C$ W% e2 m5 ?! _" }
: r6 x% `$ q4 }! U count
( L, d8 O; r6 q) N " U z$ r, \; _
if r(N)>2 {
8 O ]9 ?$ L( M9 S, S! I# J( W5 F
. ?' U0 b" E; x pkexamine dx240 ddy240" n4 A0 L3 [7 x7 S( z9 ^
$ G _: x- T$ E6 c o local tempminphddy240=r(tomc)
7 j6 h2 Y2 @ ^2 h! X7 R# V# s* g w% O restore
) ?3 O' }& j% K3 p2 n2 Y }
$ ?; `! i: c0 M3 ?, Z6 q 8 v5 q: i! _1 q/ H2 a( }
else {
% D& r* T1 e5 ^& x8 N; N restore
" |2 |3 ~7 Q: p" a$ Y' j8 | di "cannot find pminphddy240"3 o7 d# T2 ^1 u
% M1 U( L8 \6 f q
$ G: Q9 Y( o+ Z, z' h1 o sum dx2400 r7 b0 b0 _% o' ^! L% ^9 E
local tempminphddy240=r(mean)
9 ^, F& e1 _) n8 c7 v5 N& U( I , u3 M6 u2 D& v5 `) }
8 X0 t: [; a- t0 g! R- b+ `
}
' w9 `' i; t/ h4 g$ A6 M W5 A
/ P4 P1 i' L9 C7 { ( D- X( w) Z( C8 F$ U. |
. j' x# z3 j, k3 y( o
5 A. Q# {8 G1 @5 `7 l
1 m+ `: E; B2 G H% a. ?9 p- Z 1 [. x5 |# L# [- I; B. H+ V1 J0 }
gen pminphddy240=`tempminphddy240' in 1
K3 q- c5 j7 i/ L & q& r2 h* M( p, `) I' J
2 y$ O# O% [ w6 D) G( B% o. k
*-------------ddy240pminp右侧低峰值 -----------------" ]5 k, n" z7 \% M: R, e
preserve " l0 q) [! u: X; }1 v
3 W1 g- A) C% I keep if dx240>`tempminp'
6 S, @* Q/ a% p$ `, `& ]8 _ & k% b5 P: I* L0 ^) r
keep if dx240<`tempmaxp'4 F# j3 b) ^0 ]9 S0 `6 L
; [7 `! d& W- c( o+ a0 C keep if ddy240<0& }% a8 Q+ M3 s
! @5 X: q8 h7 t; J3 M, U/ O+ Z, |0 g6 M
gen temddy240=-ddy2403 i" V2 }; V1 Q: H0 e+ R) H
3 c; l# l. ]3 d5 G
count
# O3 {8 s( ?; N5 N1 B' Q ( J' P8 v# w7 P! x, Z% _* N
if r(N)>2 {6 Y: V7 n: @9 W* K
/ s8 P. a2 i6 g2 n% b) `8 o pkexamine dx240 temddy240
6 T/ G; y4 w+ i$ q
4 V: e$ `% P( }' P local tempminplddy240=r(tomc)
6 X: y- B! E' H ~, S! m9 V: X restore
1 V: {2 Y! P H. X }, _& |* d; F8 `$ }
1 l, U3 l$ O1 V7 n else {
! }7 s& K* ]( E4 F0 g0 t
& v! ^! y/ h' i* H- `1 X/ { di "cannot find pminplddy240"
0 P2 D% J. i0 N& v( c+ B restore1 |" C* m0 V8 b8 N* v( [
) Q9 q( \* i( v0 o& R* x
sum dx2405 U( y S! ]7 j. _. f. S% o: T
local tempminplddy240=r(mean)
. g* g( x: |: B/ A. T4 N% O
0 k6 z. L& e& i4 {1 Z ( l- Z& N! A& n- c% l/ c3 L
}' n6 x0 G/ Q' e
, K; P D9 \6 |/ A9 p
/ ~9 ~( C2 B1 [3 g
+ S9 z' ~& ~7 `
8 D" _/ F/ n% k8 p% n 4 M! d8 |" Z$ O2 f$ u
gen pminplddy240=`tempminplddy240' in 1
7 P- n# F. Y# W! a
5 k0 K2 G& S9 D5 T *-------------ddy240pmaxp左侧高峰值 -------------------7 G( p7 I' T5 U2 S" D& o$ I5 Q. V
* C# x' k. [0 I; D7 ~6 ^, t
preserve
; M G; M; \0 F2 q& Q8 H/ Y7 h
; I$ M" b$ h& F$ R keep if dx240>`tempminp'! g/ i1 s2 Y0 p
, r2 M9 X1 [" @% o. W( ?7 W) l
keep if dx240<`tempmaxp'
, a% J% z- r0 ], _ |, T
b5 l& x' e8 b; T: [- e keep if ddy240>0, }8 J6 @3 \1 X' ~; B5 a
count: y/ e5 e2 Y/ H4 P- g' q' y
+ j. ^, u" n& ?; p" @" H C. ?
if r(N)>2 {; z! K3 \5 \2 s5 l
: l- a7 I0 j0 V
pkexamine dx240 ddy240 R7 f, c9 C0 m) j# v& {" ^
: B5 Z4 \ G* O! H+ Q! g) _ local tempmaxphddy240=r(tomc)
2 b4 S. k7 o5 L8 E4 u: Q
6 v; _" s3 i; G* t5 Z restore
B- W, g+ L- g! K+ t4 g7 ` }
5 f- i6 W7 H$ m9 [ N. W6 Q
u* r4 }: J" Q/ z1 @. ] else {
( \- Y- u" @, ^, F! D
. J, \7 J: w; q" t! b di "cannot find pmaxphddy240"
: a, F6 c1 W2 f2 ~" @5 ~2 `0 K restore9 r% A% d5 K$ y# e; z" @
& _0 s S/ O4 A; D
sum dx2406 a% v2 b' K6 U. w
local tempmaxphddy240=r(mean)
; a" R/ g" Y3 a5 h% w' s
, U; D& P" ?9 e1 F2 x
7 @5 _% s( X% i: B }
3 T4 \) o" H2 e; ] , y. J! r0 J6 Q- H* r8 y
0 t" W$ w' B5 S& d
' g/ s: W5 R1 E2 q4 a9 \1 P/ G $ J: B8 n- ?2 ?; {0 i" l
0 A$ i5 \6 p6 N( H; E1 @5 {: y& c
* A# B* j! B2 M: s8 O$ ~ gen pmaxphddy240=`tempmaxphddy240' in 1
6 W7 H& \: X& n
6 F% r$ s) F" N. l- H
, O* x% {6 s7 @5 H# Y w *-------------ddy240pmaxp右侧低峰值 -------------------
( U2 C8 A- D5 N, I& q& t
0 N" B3 x7 l ?" T3 U6 H3 E; U5 Q preserve
) R3 o# Q, z; G5 P 2 o' U9 ^ P) g5 X/ @0 `, U& R
keep if dx240>`tempmaxp'( h' X- `! }/ @
2 y+ D, J3 [, ]" z gen temddy240=-ddy240) O' ?8 n9 W$ J4 [0 v7 ]1 }
9 \7 A8 Z5 X: E* R
keep if temddy240>04 f0 _. ~. ^7 {: R5 `/ S
5 I5 e- h) `* g8 a
count# y! K- P5 c- f& O
( i L6 ]7 z) i# T3 Z5 j3 ^; T
if r(N)>2 {
: b# y& {5 c8 d; s' Y6 S& c # ]. P& C. }0 e( ?4 V9 T% H$ l
pkexamine dx240 temddy240
5 _0 Q7 W& c3 X5 t. H" C
, R, s r+ [3 v local tempmaxplddy240=r(tomc) ; z) C$ R& w# ]' k) R# }( `, d$ v
restore, r% D2 R- f3 L( x& Z: i/ \6 T
}& m: d1 _# p' [* M2 B: n
1 w4 r/ f% M# d4 L; _3 E# j4 T else {
9 P) Z( h8 O3 H- e% r: x6 Y5 O restore
: \1 w8 t2 K% I; I di "cannot find pmaxlhddy240"
5 f ]7 W: C& X+ m) I( @3 F1 n
6 a3 H- W2 I; n, z+ b% @. @ 7 `% f8 |+ `! \' U
sum dx240
& Q! R5 [. o9 v; q3 {" P6 C0 A p local tempmaxplddy240=r(mean) in 1
5 F; [; O) j0 r" D- W
$ K r( {3 Z) G6 m" k % Y7 G: K( f" [" U/ v, ~8 d
}
h2 ^' y) `8 u9 S2 A- n , k. D8 l. |2 N& ~$ A" H; I7 i' U2 N
% Y' q- n5 P9 B9 K3 y, w6 k
R- z0 D7 u6 D" Q- U# H . `- ~$ ]. c$ L! t; E
3 T1 l; D4 a% X: k: K. g
5 j! J! p# X: a& W' T( b9 K" u7 S
gen pmaxplddy240=`tempmaxphddy240' in 1* ^! v/ a8 X1 K' J& b
# b7 q" M0 j, L; f( G *-------------------------------------. p! a4 C8 F) R! h0 T
& ]" L: v3 n1 _, T# f# y2 Y8 j: H gen price5d=v5 in 1/20
( I! d: p* Z$ Z
/ i4 i/ D. y9 d# @5 P0 [ gen price5yy=_n in 1/20
& Y& J7 G; a' Q( B$ V6 X
: ^- N7 l) b9 p: M gen price5y=price5yy*(dy240max-dy240min)/20, |# b( `8 F2 H. I/ F
& q7 ^ V H6 I
*price5y &price5d: ^" z$ _7 S& E; Z
$ C" }) H, r# n- {/ h1 a. T9 T4 m gen priceny=price5y in 1; b( E9 K6 p; i" ^
4 l" E1 i/ a$ K2 V: }- W/ m gen pricen=v5 in 16 I1 l! S2 P: k! j, B. ?
1 e3 P1 m9 B2 z; _2 r% b6 w5 T! R
t- P5 V1 `8 z" } *priceny &pricen
" z6 N2 f3 }( R% P' e5 z" p; L4 z- l' u
% D$ _0 H: F6 ^/ O$ {9 s% k 6 C" W2 `0 V6 M7 z# W
*-------------------------graph------------------) u) X& [) `( U8 Q; c0 q, Y
5 m9 u, t U: W5 P* w' b
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)0 k) L2 s/ O$ L8 ?
4 L4 K- m1 O- p5 y* ---------可选项目----------------------* E9 t0 {$ k& _; n7 b, e
" ^5 q @' s Z6 \}
" T, a s+ S# R$ P9 ^end
: L' _3 o6 ]6 {/ W# V: O |
|