|
|
改了一下,这次运算应该没啥问题了, @; ]1 m8 X. S; ^4 [: B, B
8 g* v4 H2 [# d, W0 e5 d0 N
8 {8 ]/ `$ c8 v2 h, rcapture program drop hello
+ K9 d& Q" j9 y" f$ {4 K- ]2 U7 x$ R$ z" N: M3 V
program hello) b, t/ @, x/ k e6 {
7 t9 J8 G4 A4 Q5 J
quietly {
) p8 r' m9 [4 F# K! L C' ^# j
" F1 o# {6 q2 G0 Z" B, q6 pclear- E5 g& n! s7 D- j& c( n$ C# u `
+ T) r1 [0 B( p. Hcd e:\finance\stock\20110101\source
6 \8 D; J2 ~. c/ [) y1 A0 p- C. j+ u% r* T6 `6 F
insheet using `1'.txt
0 b; }' J: A, u0 F9 ?' l* h
! C m! ~2 l0 h keep if v5>0: y [+ n: G+ U9 h
$ G! { P0 o3 z( h" k8 c8 \. _ gen vt=_n( X6 j4 G5 ~, ~
! [1 h* n# `2 M( X6 h
tsset vt4 t, Y6 S* k6 m
( B1 u k) v- E gen zf=D1.v5
5 i+ D( O, `/ U* X; w4 l
- `0 {$ w9 w$ f+ M4 U5 l4 r gsort -v11 l3 d& q; a4 f: w D+ Z
* W# U8 w. l- _
gen avol=v7/v5+ g1 `8 N7 S, J
& T- {* C3 q; |6 W! P keep if avol>0* ?$ b2 m1 D. [& f! l
) g/ O$ x% ~6 D! t+ p
drop vt' ]! S2 J- e! Q7 U& }( J
" C5 J% D5 r$ G( p; ]* I gen vt=_n1 c; a* l, H8 {% i
+ r" v/ I+ |) L. n% Z
tsset vt
! T' M( k, F3 Q: A
/ l; V. z7 z6 {* t* N( u sum v5 [aw =avol]
2 u, c* F/ \" x H0 z9 W: X" T$ j) W
gen amean=r(mean) in 1
3 l' {7 J- z Y3 g , f: h5 F$ F/ Z; ^
* 总加权平均值 amean
2 |" p) Y4 ?5 A! `
- p% @" } A1 @# ]0 t# I8 C" }7 Y ! u& n ]& g* Z! R9 T+ M
keep in 1/240
- c3 [4 f& I! G: Q4 B
- W! l7 a, ~- X2 R( ] sum v5 [aw =avol] X9 p' d5 k* m4 ]* l$ n
8 B: Z" {6 ?" X
gen mean240=r(mean) in 12 o: z, L& e. Z( m: Y3 {0 T; c3 d
" {4 x5 n) Y5 c" ?) ^
*240加权平均值 mean2409 K* Y% @. n. M: S9 z
/ U' C( b: C! u3 Y+ _
set obs 500
. U, ? i6 N( Q* ?' j4 M1 s( J1 _
5 N+ }, S: S8 `# l9 E kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph/ L. }' [2 }0 k& h/ }
3 L2 r! K4 ?2 e, Z. v B
*240 kdensity(dx240 dy240)
% i7 G8 P, n! a2 A# M: k
$ _4 L* m6 u6 [& W) G* a sum dy240
7 v7 \9 |' O7 b
# _1 y2 ?( K. c4 ?* A2 i" A gen yxis=r(max) in 1
9 D: f! q7 @3 L1 @' k7 ^' x" o3 U% t
7 f2 C4 l/ c0 q- _4 w) g gen yxis2=yxis/2' m0 B& K4 a1 D u1 m% {& [
}. d4 {0 E) H( Y *yxis
' s% U) X2 d2 {( Y6 ?' Q! x! l ) \* e3 s4 O) j6 b
gen dy240max=r(max)
7 R, C% {' B0 y- e/ R( n 2 N' I" g7 u; |) w: v- X
gen dy240minp=r(min)
" Z) I# d0 I$ {! ]3 u9 e' l7 `+ B , I2 u3 l' }9 q/ g- S2 x
gen vtt=_n
! ?3 M2 q" }" }$ h5 n7 }& W: C: a0 p. {$ q/ x
tsset vtt
0 b" `; ~3 U7 h5 z. ~3 Z7 T S9 R8 I8 E8 T+ m6 X
gen ddy240=D1.dy240/D1.dx240& Q/ U0 \3 ~! L) ?) p! B
; e6 t5 v( F( R) a) r' I. T' ~4 ?3 A( E
sum ddy2405 S! R, Y& ^' A- Z7 y1 }5 i2 H3 c
8 t8 a- z1 T! S6 r, | s3 d gen ddy240max=r(max)
7 D" x) A3 T) s0 s 3 E% C; ]0 @0 u' t; G' I
gen ddy240min=r(min); x0 M4 ?% ]1 k$ P
9 W* X7 \/ s9 U# x6 v/ x. s# f( n, L gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min): N& `+ p2 ]% L9 l0 y ?: C
0 H/ C- h9 r0 X( H8 Z" K sum ddy240g$ h5 [& o( I$ b
8 z% s, L6 G6 [' }% b: l, _. r# B
gen yxis3=r(min) in 1$ I E3 M2 f4 o% T* v; [
' L6 E( z& {/ b5 @ gen yxis4=0 in 1) h d0 ]: j0 s4 ]2 [! I' ?1 y
/ Q) w/ |% e, x- E/ U. Y; i
*ddy240g
/ e) W& v+ W( A 4 l6 q4 _$ o. D6 p- U% b
4 x) @" j: w2 h* Y, Q preserve ; H# L' E/ ^* W! L
3 a7 {; j! x1 _ sum v5 [aw =avol]: @5 N5 j6 v% t( [3 \& l1 r
& z' E& v6 {& P, z/ L
keep if dx240<r(mean)
5 \, ~( }, [* h3 U
( d6 C! ?. ~( O3 O sum ddy240
$ ]- _5 L* n, e# j* N( h : T2 c2 { W7 C: i( Z
if r(min)<0 {
$ T% g2 X& A9 h' B
8 z4 c/ V! X; t* q3 R+ e, p4 R6 N5 \ keep if ddy240<=0
: E7 F8 A! o' z9 } 5 n2 V9 ^+ O$ B+ O2 K& [8 y/ H
count
% W- F/ M* x! N7 }" I+ ]
' [5 w3 E& u) |* J- w7 a if r(N)>2 {
) F& q4 P' X! r
6 L0 V- D* W- o3 B' v% l) O pkexamine dx240 dy240
& ^0 O9 d7 Q" v" F 6 Z _* h& j- n( E
local tempminp=r(tomc); K, I e5 y, y9 W3 m
restore
+ \" W$ }% s } }
! Q9 l: r! o# R, z
. V& B& z6 |& Z B9 s: C else {
: U1 Z6 f# P. p+ s + J+ Q& g/ ?0 J: w9 ?- N+ ]- R
di "cannot find minp"
; ^" @& p! J2 C% i % n z$ H l1 K% P4 o3 B
restore 0 D2 K' [& C5 g" d% a* n
sum dx240: A9 P# V; l& A+ W% ^% i5 y( U5 a
local tempminp=r(mean)6 t% ^2 l7 ~ T: R) W" I5 `
* p! S5 k: j- W+ ~4 O# c/ F }
: Z- a. D% Q }$ g3 D }
' c5 e- }3 g3 V/ G0 U" a8 M7 K' k7 M else {
+ O) _* v9 }7 C! O- J# A : W6 c" V }! |6 @2 b3 d4 ^3 b
keep if ddy240<=r(min)
( b, E) w/ S. d ! V7 K8 H G, t, T: c
sum dx240
; t4 Q" b$ q! }( _/ {
& f( v0 x0 J: Y) L, ] local tempminp=r(min)
* T" _6 {. t ?. U restore $ w, S h/ b, m$ Q# [
}- P D! l* o' a; i3 U+ G
; L6 o8 c: L4 j& X) Q& f) h, g; V5 r n$ M; h) h
, h& `5 ^8 E6 e. e1 y4 c
gen minp=`tempminp' in 1
! Q. j, `$ [) t3 H9 ^. R+ a *240 minp' P0 A- p2 ?3 Q% e9 A
7 ^3 e! B4 w+ T' Z. z3 g+ W$ F( B, {2 d
3 p1 w- g8 c- d' E. m: C% v preserve
2 p T( d( v- }) E # \# W$ I. ?5 N/ f& c6 w) U8 Q# Z8 {
sum v5 [aw =avol]- ^7 {: ^" }+ j U
8 E4 ~( ] \' y8 W5 O/ r keep if dx240>r(mean). Z5 A5 A0 z# O; D L. a9 x
0 P& L' S: e% y; R4 F
sum ddy240
3 O3 [0 f& F+ } % m: r, L: B/ ~+ \3 O
if r(max)>0 {; w! J* W$ u" c- }) M8 u6 X
; n) Q, g3 }# O( {: v keep if ddy240>=0
# ^/ ?2 |. t# N, z# X7 Z
8 }0 e! q/ w: N( f/ ~7 v count% E, b; ~+ L. @% e
1 ]3 S& ]$ k4 j( A/ R3 t if r(N)>2 {6 g; _. R; ?3 k+ B( O6 h9 j
' [- A& d: V# }% X6 ~) g pkexamine dx240 dy240/ C* q7 T: r$ }, V4 q1 |
$ L) Z1 w Q, Z4 R2 n( A
local tempmaxp=r(tomc) & I+ }% y* H6 |1 y& v( Q9 V* t0 v
restore
2 n% }) _# U5 ~% A( B s) G8 V }
* K# e- }9 C5 s
: C& p$ ]( V, \9 a4 D+ K$ V
! ]" w p7 D. R/ S* [; p9 q else {1 M; @& l4 a( }
restore
0 U, Y& N5 U. K0 H5 \0 @ di "cannot find maxp"5 q6 `2 `8 E- C) `# Y$ A
. H4 P6 I; U5 ]! H7 s x) `" a; I3 ^
# v& C: g8 ]0 K$ q sum dx240
7 e# h1 ^5 s5 o s local tempmaxp=r(mean). W0 P+ g! s1 d( O: v
: f4 T+ v, l% @% u2 o, Y. v }* w% g2 `8 e" J6 G" z
. ~/ b3 Y! Q0 Z2 Y+ k M! a& x! m
}
: ~0 d9 p' n7 @/ Z) _3 b. A + u" w" x5 c q0 {- ?4 u0 `8 [
else {$ x* d! z$ V# T! V, I3 ~1 P
% R! z3 y) u* t2 X" C2 H6 g keep if ddy240>=r(max)$ e* e* ?; E$ Y, h: E
) \, A ]; e' R+ h
sum dx240
; K( X* K& [$ _; i+ n % ]4 _) N. W' A1 T
local tempmaxp=r(max) + E! A8 ^& ?6 Z8 {! I2 `8 d
restore
' v9 c, K2 Q+ f6 O }& m6 |- C( C D( @8 F
3 O B# v- f. S$ ]% C, D1 \: A8 v8 M5 }1 Q
; p' U3 n& u1 ^, c- ]& A. N1 Z6 U1 m* L0 Z( n a
gen maxp=`tempmaxp' in 1
7 D6 |# y$ m% S7 h y8 v4 D
$ K" R; ?* P: M$ [ *240maxp$ C) f9 ]6 L( u3 y
; n: q. w) V8 [7 K + e$ M1 N- l1 h& u4 M) x
*-------------ddy240pminp左侧高峰值-----( O o+ L8 P2 k9 n! P. A2 E
3 R/ Z1 d! R% ~) v
preserve 6 i# T3 ]8 ` R- X: l
& Q2 s' `% H; j2 H9 G
keep if dx240<`tempminp'
) P( v8 |( u6 W
) p t t- K$ s( Q# a$ w. z keep if ddy240>01 V" f( K. ~4 Q5 a& l1 q
" i$ v/ |- x/ @: E1 g count
i$ l6 A* O' j# _4 V7 r/ P5 [: j & C( V j- U) c8 e
if r(N)>2 {
/ H6 H0 ]2 ?( z! n/ ~0 W: q" C7 c 5 ~9 l$ ?) K8 t+ e2 ^( O+ I' E
pkexamine dx240 ddy240* g: o T: Q% @
; F c! \& e$ V: z: S local tempminphddy240=r(tomc) 0 z) A$ Z- E4 S: h
restore
4 v& z6 Z- z2 U }8 v6 c2 P n2 W; g- ^' W3 P: Z( N4 G
# E+ U- X3 k: E! n' f/ V
else {
; h5 y, [6 w. y7 g restore ( E2 C. ~6 i$ z6 a& N6 Y. O7 c
di "cannot find pminphddy240"
+ P( m8 C1 g+ c+ r7 W 6 J! j) {9 f. h
3 Y6 p% n) q" ^1 [& o2 t
sum dx240
5 k0 D; a8 k8 P8 C8 a X" B6 P6 Y local tempminphddy240=r(mean) % p/ h9 p. c5 d. w( |
r2 @0 l3 Y' {; y
+ t4 ~! \$ h8 p& M5 @
}
a d: B; z3 C6 B4 t$ o ' U( Y4 B# V# {0 G g
( L1 q9 ?1 i- X8 R
) P) ?" q, d* A5 I. o
5 [ n; P+ i) C
8 y4 W1 D1 [& [1 F. R/ U7 s. M+ t6 T- W + c$ X/ @: |8 l' F) A% [$ |& a$ C
gen pminphddy240=`tempminphddy240' in 1
& W V6 U+ u1 [3 l
+ L2 a- G3 w5 l+ Q: f3 F5 M
" S# \1 H" ~3 M6 a! X" b, i *-------------ddy240pminp右侧低峰值 -----------------
0 |) p! F8 H$ l' O7 t preserve
: S0 G+ o. y. Q' C* N ; E" q4 |4 l6 E
keep if dx240>`tempminp'+ s, g6 }( I5 u" p7 ]
' N* N; ~5 Y& E keep if dx240<`tempmaxp': W0 \$ M" ^) R* n0 n4 ?! ^
" i/ y# n$ j% G/ L( ^# p
keep if ddy240<0
. {: Y* {% a& G3 r6 K
3 f( [5 e2 Q. L' v' T gen temddy240=-ddy2400 I6 N z8 S! ~( l
. m( X; p" s( `/ g- H% U* M; E
count
6 n' _- G7 t5 n$ i. ?! _ ` 4 l8 ]- j. _. D1 I/ [
if r(N)>2 {
5 F. @6 V' s% R: \9 F
/ G! y3 A6 o& o5 A3 k5 z% u" ^- @ pkexamine dx240 temddy2403 l% C0 \ ^" {- ]! n' S) z/ g# [
9 K0 n* `# A* E1 H7 S6 M
local tempminplddy240=r(tomc)( d+ c; h0 ~0 L' e6 p4 b! N# ]
restore
' A* l8 z [0 C- g& { }
+ j* Z8 e9 h) N* g N ' P+ B( J" U# f$ C
else { x! L: J* A V( c F
6 O7 H% l" p5 l
di "cannot find pminplddy240"- \) B* r, B' i" ~
restore
2 S5 [$ Z! L% `3 D6 p; i0 f
/ S( i g8 @+ @8 j sum dx240
; d* Z) Z3 I8 g local tempminplddy240=r(mean)
, m5 D7 K5 m1 k& J
+ m3 z3 @5 w( L; E; H( R0 w * v; H2 h! [# s6 q- }2 z! | E
}
' D" `3 E1 ?# L6 J : W5 I' o: }; C: b: I
' `9 I6 A- i& o( g- S + ^- r; } [ w( l1 f8 l& ~
, e5 V# V9 Z2 D2 \
3 ^2 l) z! C1 H9 R5 z" h gen pminplddy240=`tempminplddy240' in 1% W, [$ J& X a0 R: z
' \3 d; h% ^' y2 o" Y *-------------ddy240pmaxp左侧高峰值 -------------------
8 F5 d9 I* Y+ j7 @9 e3 B8 h N + t- l' M4 n9 q! d( q
preserve }: d' ~% t7 {1 z
1 Z4 s' j3 X5 p" |) E
keep if dx240>`tempminp'
2 y0 g- d, s# Z0 ^6 a / I. I; p) z, s8 U5 p
keep if dx240<`tempmaxp'
; P) W' K; E* v4 W5 Y
1 W( a" g) w$ ?4 a# r9 s. l' p keep if ddy240>0
. [: e# j+ l- C. `0 Q) ` count
; `" i" V. F( ^7 P) r* p1 F; T* q
+ F c1 n8 f, A- c if r(N)>2 {0 K. I, g) K2 N, r f# \* D
" n: H& j6 j7 I% G) Z3 y$ J9 Y; q7 q pkexamine dx240 ddy240
3 o/ k1 |1 `+ ]3 r- a9 U # I) S' \8 u+ D. w, l
local tempmaxphddy240=r(tomc) 6 G, G* |9 Y8 u) H0 C4 f0 d$ u
1 s% d$ V" y" _. @ U; b$ H# u
restore8 }& i0 F3 `( H1 c& g3 |
}
& R9 @' m& A3 m+ |' t; `9 m+ i2 m
' c/ H/ Q( m# p6 @/ t( o- Z' g else {
# _: ^3 r5 Q, J5 l1 O
$ j% o5 v8 K7 |/ C( R di "cannot find pmaxphddy240"- P4 q$ Q3 l3 F" G
restore
0 n) b9 p* {6 |* K4 F6 Y7 l
: c/ Z G- x' z; j sum dx2406 k+ e3 h3 s/ W S, W4 [. ^% c
local tempmaxphddy240=r(mean)
& C: @2 f4 D3 ?1 X7 y 8 {* e- p# U. J4 [
& i2 }3 ^6 C s% d6 `; m }
( v" x9 U4 ]( {* l* q' C% @ S+ A0 k$ s) y d$ ^7 [9 r7 |! G
5 P' p% ?2 ^ \( Y( |8 u* @: Z1 ?
8 ~+ N5 R. R% f# Q# Y x
D4 k( Q* K: {% M/ B
. ~+ d" f5 f" J" J" } p
P' f1 K% d" X, y5 |0 L gen pmaxphddy240=`tempmaxphddy240' in 1, i# _! Z: N, z& A$ @1 ?
. V' ^# ^! a/ y
8 s! C; |" R- K$ _# ?- s; Z *-------------ddy240pmaxp右侧低峰值 -------------------6 A0 V7 s; X. b6 g" @3 y
; o# w5 C. q$ `: O
preserve
7 E+ u; r I. [2 M9 F# a* ^
: X( O# t8 g2 n \ keep if dx240>`tempmaxp'9 J. u$ k. @( N
8 n5 | y$ n& V. X- G gen temddy240=-ddy240* h. T' P# i8 u) |/ E
p6 i" l: w: t+ _ keep if temddy240>0
! ?- Q: O' C0 j, v5 _ Y% R 0 v6 f0 h8 Q/ J# M5 n
count
: V3 x+ }5 q7 \) i 3 z( m/ `! N. X. e* L
if r(N)>2 { [" c. z) f- s2 t" [
& c3 B- n9 R- c* r$ }/ O2 d pkexamine dx240 temddy240
3 b+ F6 f" M+ C9 z6 g- Q- N0 c / p0 g5 O( o$ q% k5 f
local tempmaxplddy240=r(tomc)
; c/ }. y5 L" N( Q W restore
4 B( f# H G* G }
. e* C; p2 g* g3 k
4 p B \; h, L else {
3 E2 f2 C2 n \' ^, l6 \) s" U restore
! G6 G5 C& F: d) h( X8 W1 p$ k( B di "cannot find pmaxlhddy240"- a8 M6 L3 T$ c+ o2 ?5 f
3 u8 t) T; H, f9 x# Q, @7 h: R
3 P+ p/ w/ [+ ^9 [9 Z) X
sum dx240
1 E [1 g, H7 P3 P1 h local tempmaxplddy240=r(mean) in 1" T) O, F& }- y9 R3 X- P8 T
% N! r8 u n$ l# j L0 a7 _ 8 q$ {/ ]0 Q Y1 L; f
}
L! A3 R1 v# D- x A( B( z! Q
* \1 L* V6 s% W0 l+ b. q7 T& ^( d . v+ N( i, Y s/ f6 a q6 O5 A5 O
1 O' v+ K7 y( d9 [$ m
7 t* ~$ [2 p6 B9 V% q5 K - {' ^; p" y# a3 ^! V" n7 I* V
; L0 z" Y) C# D
gen pmaxplddy240=`tempmaxphddy240' in 1, m) c* p5 T+ R D" }
* B$ V1 m+ \, m9 Y# D
*-------------------------------------
$ F# q6 E1 u" O" q8 p/ G# ? 8 U, f7 ^+ G3 K) n! L W6 A& t
gen price5d=v5 in 1/20' k3 m0 O, n# Y1 P5 _2 Z# w- z
( s/ q/ Z* J, Y gen price5yy=_n in 1/20+ V. h( N3 H1 n& Y* `8 D
8 T, T: y5 P& {2 K gen price5y=price5yy*(dy240max-dy240min)/20" h9 u. J9 V6 t/ {+ G! Q( H
" ^/ g2 i0 k+ Q: @& M$ X *price5y &price5d- J' h* ^- u5 Y# f- Q, P
3 V r7 a. W0 {# K gen priceny=price5y in 1- Y: y; ]6 m. n" c# g5 q
; p% l3 c: b6 \/ Q4 G4 D6 {
gen pricen=v5 in 11 s9 v' j4 J$ M" C Q& x/ i) l
% r7 u) F' k/ ^0 T7 S$ J) t
, f" `- H$ k8 s/ ~/ L* D: q- `
*priceny &pricen, c# J8 [/ K* r# [
8 U/ I4 b; V8 l) I. a
8 y7 U" o% e2 K' V) m: ? *-------------------------graph------------------, v% m! l% j4 s( ~
. }" ^! Z2 i/ q2 ?
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)- R0 |: e% }7 u$ ~) z! s
+ B; |& e! e8 [! z8 C* ---------可选项目----------------------
; a: s* x! M& [2 \- I- W; {! L: q, E
}. w" J8 o. m, W
end2 J6 J9 c/ ^: C- t6 g' X$ b
|
|